需求
自己做的图床,上传的图片是没有后缀名的,写文章时,markdown是支持的,可以显示图片,但是,当我把文章复制到微信公众号时,却发现上传失败,手动加了后缀后,能显示,所以需要将图床上所有的图片加上“.jpg”后缀。
因为我使用一个mongo来存储的映射关系,所以第一步要修改mongo中的URL字段。
工作
项目pom.xml,不想用springboot引入一大堆包,所以用了mongodb-driver。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <dependency> <groupId>org.mongodb</groupId> <artifactId>bson</artifactId> <version>3.11.0</version> </dependency> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver</artifactId> <version>3.11.0</version> <exclusions> <exclusion> <groupId>org.mongodb</groupId> <artifactId>bson</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-core</artifactId> <version>3.11.0</version> </dependency>
|
java代码,简单的用main函数跑了一下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| MongoClient mongoClient = MongoClients.create("mongodb://root:root@192.168.0.188:27017/?authSource=admin"); System.out.println("Connect to database successfully"); MongoDatabase database = mongoClient.getDatabase("diffuser"); MongoCollection<Document> collection = database.getCollection("photo"); FindIterable<Document> findIterable = collection.find(); for (Document document : findIterable) { String url = document.getString("url"); System.out.println(url); Object id = document.get("_id"); System.out.println(id); Document filter = new Document(); filter.put("_id", id); Document update = new Document(); DBObject field = new BasicDBObject(); field.put("url", url + ".jpg"); update.put("$set", field); collection.updateOne(filter, update); }
|
本篇就是记录一下,等以后有同样问题的时候,可以拿来就用。