我在使多個文件上傳工作時遇到了一些問題。當我選擇x個文件時,它會成功完成,但第一個文件將被上傳x次,而其他文件則不會被上傳。任何人都可以指出我做錯了什麼?在playframework上多文件上傳
形式:
#{form @Projects.uploadPictures(project.id), enctype:'multipart/form-data'}
<p>
<label>&{'title'}</label>
<input type="text" name="title"/>
<strong>(&{'addPicture.chooseTitle'})</strong>
</p>
<p>
<label>&{'Pictures'}</label>
<input type="file" multiple name="files" id="files"/>
</p>
<p>
<input type="submit" value="&{'publish'}" />
</p>
#{/form}
處理的文件:
public static void uploadPictures(long id, String title, List<Blob> files) {
String error = "";
if(files != null && !title.trim().equals("")) {
Project project = Project.findById(id);
// Save uploaded files
Picture picture;
for(int i = 0; i<files.size(); i++) {
if(files.get(i) != null) {
System.out.println("i: "+i+"\nFiltype: "+files.get(i).type());
if(files.get(i).type().equals("image/jpeg") || files.get(i).type().equals("image/png")) {
picture = new Picture(project, title+"_bilde_"+(i+1), files.get(i));
project.addPicture(picture);
} else {
error += "Fil nummer "+(i+1)+" er av typen "+files.get(i).type()+" og ikke av typen .JPG eller .PNG og ble dermed ikke lagt til. \n";
}
} else {
error = "Ingen filer funnet";
}
}
} else {
error = "Velg en tittel for bildene";
}
if(error.equals("")) {
flash.success("Picture(s) added");
} else {
flash.error(error);
}
addPicture(id);
}
你有沒有看到這個:P - http://stackoverflow.com/questions/7401364/multi-file-upload-with-play/7571000#7571000? – Rifat
你能接受你的答案嗎?謝謝。 –