1
我想在我的網站上傳文件/圖片。 其實我可以上傳我的文件,但有時我的網頁上有錯誤,我認爲這不是做這件事的好方法。PlayFramework - 如何上傳文件/圖片
我的代碼:
private String uploadImage()
{
String result = f.validate("avatar");
if(result.isEmpty())
return "none";
Http.MultipartFormData.FilePart<File> file = body.getFile("avatar");
if(file == null)
return "File is empty or not exist.";
String filename = file.getFilename();
/* Debug file file*/
Logger.debug("nameFile " + file.getFilename());
Logger.debug("contentFile " + file.getContentType());
/* End debug*/
File f = file.getFile();
/* Debug file f*/
String name = f.getName();
long totalSpace = f.getTotalSpace();
Logger.debug("nameF " + name);
Logger.debug("sizeF " + totalSpace);
/* End debug*/
try {
/* File user is not f file variable*/
File fileUser = getFileUser(filename);
Try.of(fileUser::delete);
/* Use of org.apache.commons.io*/
FileUtils.moveFile(f, getFileUser(filename));
} catch (IOException e) {
e.printStackTrace();
}
return "";
}
private File getFileUser(String fileName)
{
return new File("public/upload/avatars",
user.getId().toString() + "." + FilenameUtils.getExtension(fileName));
}
private boolean fileIsPicture(File f)
{
String mimetype = new MimetypesFileTypeMap().getContentType(f);
String type = mimetype.split("/")[0];
return (type.equals("image"));
}
錯誤:
java.io.FileNotFoundException: Source 'C:\Users\Alexis\AppData\Local\Temp\playtemp1188878075698565675\multipartBody8627595002998720963asTemporaryFile' does not exist
,但我已經調試了一些信息(爲什麼2次調試?):
[info] play.api.Play - Application started (Dev)
[info] application - avatar null
[debug] application - nameFile KwizzyPicture.jpg
[debug] application - contentFile image/jpeg
[debug] application - nameF multipartBody1959853090277810547asTemporaryFile
[debug] application - sizeF 763679993856
[info] application - avatar null
[debug] application - nameFile KwizzyPicture.jpg
[debug] application - contentFile image/jpeg
[debug] application - nameF multipartBody1959853090277810547asTemporaryFile
[debug] application - sizeF 0
T要求你的幫助! 我是法國人,非常抱歉犯錯。
粘貼在FileNoutFoundException拋出完整的堆棧跟蹤。 – Acapulco
好吧等幾分鐘我回來 –
https://gist.github.com/Kwizzy-DEV/7c40ec62d7b371972e7c45f4690f7b7e –