【发布时间】:2011-02-20 20:51:56
【问题描述】:
我正在尝试允许用户上传多张图片,但是当我使用一些文件验证表单时,我在图片字段中收到此错误Incorrect value... 这是我的代码:
在视图中:
#{form @save(id)}
#{ifErrors}
<p class="error">
Please correct these errors.
</p>
#{/ifErrors}
<p>
<label>Titre</label>
<input type="text" name="title" value="${flash.title}" id="title" />
<span class="error">#{error 'title' /}
</p>
<p>
<label>Description</label>
<textarea name="detail" value="${flash.detail}" id="detail" /></textarea>
<span class="error">#{error 'detail' /}
</p>
<p>
<label>Photos</label>
<input type="file" draggable="true" name="files" id="files" multiple="multiple"/>
<strong>(Max. 5 photos)</strong> <span class="error">#{error 'files' /}
</p>
<p>
<input type="submit" value="Publier l'annonce" />
</p>
#{/form}
java函数:
public static void save(long id, @Required String title, @Required String detail, File[] files) throws IOException{
if (id == 0){
validation.keep();
params.flash();
flash.error("Vous devez préalablement selectionner une catégorie...");
Application.setclassified();
}
// Action when form errors found
else if (validation.hasErrors() ) {
validation.keep();
params.flash();
flash.error("Veuillez corriger les erreurs...");
form(id);
}
//save uploaded images
for (File file : files) {
FileInputStream is = new FileInputStream(file);
String original = "/data/" + file.getName();
IOUtils.copy(is, new FileOutputStream(Play.getFile(original)));
}
}
【问题讨论】:
-
您使用的是什么版本的游戏?我认为在早期版本的 Play 中上传多个文件存在一些问题。
-
这是准确的代码吗?我看不出有什么不对。您没有验证 files 参数(至少在您共享的代码中)所以我看不出这个验证错误来自哪里。
-
现在您可以通过验证测试看到缺失的部分
标签: java web-applications file-upload playframework