Мне нужно загрузить файл изображения и создать миниатюру для загруженного файла в моем веб-приложении JSF.Исходное изображение сохраняется на сервере в /home/myname/tomcat/webapps/uploads
, а миниатюра сохраняется в /home/myname/tomcat/webapps/uploads/thumbs
.Я использую класс генератора миниатюр, скопированный с philreeve.com .
. Я успешно загрузил файл с помощью BalusC .Но с помощью Toolkit.getImage()
я не могу получить доступ к изображению.
Я использовал абсолютный путь к загруженному файлу, например так:
inFilename = file.getAbsolutePath();
Соответствующий код из генератора миниатюр:
public static String createThumbnail(String inFilename, String outFilename, int largestDimension) {
...
Image inImage = Toolkit.getDefaultToolkit().getImage(inFilename);
if (inImage.getWidth(null) == -1 || inImage.getHeight(null) == -1) {
return "Error loading file: \"" + new File(inFilename).getAbsolutePath() + "\"";
}
...
}
Поскольку я уже использую абсолютный путь, я не понимаю, почему он не работает.Я также использовал следующие значения для inFilename
, но всегда получаю «Ошибка загрузки файла ...».
/home/myname/tomcat/webapps/uploads/filename.ext
/uploads/filename.ext
Но я проверил каталог, и изображение там .(Я загрузил с помощью /home/myname/tomcat/webapps/uploads/filename.ext
, и он работает.) Какой правильный путь для изображения в этом каталоге?Спасибо.
Обновление
Я получил код для работы с помощью:
Image inImage = ImageIO.read(new File(inFilename));
Я до сих пор не понимаю, почему Toolkit.getImage()
не работает, хотя.