我遇到了getAppHomePath()方法的问题,这个方法返回" file:// home /"在调试器中,然后我得到一个FileNotFoundException。
抛出异常的代码:
fileName = "100004_2016-06-29.jpg"
appHomePath = FileSystemStorage.getInstance().getAppHomePath();
img = Image.createImage(Storage.getInstance().createInputStream(appHomePath + fileName));
ExceptionMessage:
java.io.FileNotFoundException: C:\Users\xyz\.cn1\file___home_100004_2016-06-29.jpg (Das System kann die angegebene Datei nicht finden)
所以似乎它添加了这个前缀" file ___ home _"它破坏了Path,我肯定有一个文件" 100004_2016-06-29.jpg"存储在该路径下。
在该路径下创建该文件的代码段如下:
img = Image.createImage(FileSystemStorage.getInstance().openInputStream(filePath));
OutputStream os = Storage.getInstance().createOutputStream(newFileName);
ImageIO.getImageIO().save(img, os, ImageIO.FORMAT_JPEG, 1.0f);
ImageGallery返回filePath变量,因此它在%TEMP%。
下无论如何存储文件是有效的,阅读确实不会。
我是否遗漏了某些内容,或者模拟器代码中是否存在错误?
答案 0 :(得分:1)
问题是你混合使用https://www.amazon.com/Rails-Way-Addison-Wesley-Professional-Ruby/dp/0321944275这两个非常不同的类。不幸的是,模拟器将Storage
映射到与映射FileSystemStorage
大致相同的位置,这可能是我们需要修复以避免此类情况的原因。
您需要选择一个API并使用它。 ImageIO
与FileSystemStorage
一起使用,因此您需要绝对文件。
答案 1 :(得分:0)
问题解决了,它不需要AppHomePath,fileName就足够了。
修理起来很简单,但有时它的细节......