我写了simple Play-uploadify demo。
我想要一个上传按钮,每次按下它时都会自动上传图像。
出于某种原因,只有第一次按下按钮,我才会上传。按下按钮一次后,除非我“取消”之前的上传,否则进一步按下不会产生任何结果。
(我不明白用auto
模式取消上传的意思。也许问题是我的下载在某种意义上从未“完成”?)
这是我的行动方法:
public static void upload(File file, long userId){
System.out.println("Uploaded file name " + file.getName() +
" by user " + userId);
}
对uploadify的调用:
$(function() {
$("#uploader").uploadify({
uploader : '/public/libraries/uploadify/uploadify.swf',
script : '/Application/upload',
cancelImg : '/public/libraries/uploadify/cancel.png',
folder : '/uploads',
fileExt : '*.jpg;*.gif;*.png',
fileDesc : 'Image Files',
fileDataName: 'file',
scriptData: {userId: 123},
auto: true
});
});
此外,上传似乎永远不会完成 - 当我添加onComplete
处理程序时,它不会触发。
答案 0 :(得分:1)
问题是我没有返回HTTP 200
状态代码,因为我没有调用任何渲染方法或在我的操作方法结束时返回一个值。
添加renderText("OK");
解决了我的问题。
ok();
是一种解决问题的简洁方法。
答案 1 :(得分:0)
尝试将其更改为
script : '/application/upload',
(注意应用程序中的小写字母a ...当您使用默认路由时,播放始终会生成小写网址。)
一次只能上传一个文件:
您是否已在开发或生产模式下测试过上传? 在开发模式下,可用于处理的线程数量为1, 因此,只要您想在同一时间上传第二个文件,它就会阻止