根据路径同步图像的更好解决方案是什么:
- 数据库 - Web 服务 - 移动应用程序
在我的数据库中,我有一个blob 字段作为图像。所以,我需要为网络服务和移动应用程序传输图像。
我找到了解决方案(尝试),但大图像总是内存不足。解决方案如下:
在我的 Web 服务中,我使用 json API 来存储要集成的 blob 图像。看,我将图像创建为 base64,这对于小图像没有问题,但大图像(2000 个项目)会触发内存不足。所以,我的代码如下:
public void getImages(String date) throws Exception { JSONObject jsonObject = new JSONObject(); JSONArray jsonArray = new JSONArray(); if (date != null) { try { Class.forName(DRIVER); connection = DriverManager.getConnection(URL, USER, PASS); Statement s = connection.createStatement(); ResultSet r = s.executeQuery("select * from images"); while (r.next()) { JSONObject o = new JSONObject(); byte[] imageBytes = r.getBytes("image"); String imageBase64 = DatatypeConverter.printBase64Binary(imageBytes); o.put("image", imageBase64); jsonArray.put(o); } jsonObject.put("images", jsonArray); } catch (SQLException e) { System.out.println(e); } } }
在我的移动应用程序中,在显示图像后读取 json 并将 base64 解码为每个图像。所以,我不需要将图像存储在移动磁盘或网络服务磁盘中。
移动应用程序将离线工作。有什么想法可以解决我的问题吗?