我有以下内容:
new qq.FileUploader({
element: $('#' + domid + ' #upload')[0],
action: '/api/panel/upload_file',
debug: true,
allowedExtensions: [
'jpg',
'jpeg',
'gif',
'png',
'bmp',
'pdf'
],
params: {
room : 'a_room',
module : 'a_module'
},
onSubmit: function(id, fileName) {
this.params.name = fileName;
},
onProgress: function(id, fileName, loaded, total) { },
onComplete : function(id, fileName, data) {
/* FINISH */
}
});
将上传请求发送至:
case "api" :: "panel" :: "upload_file" :: Nil Post req => {
var response = true
req.body match {
case Full(file) =>
/* DO SOMETHING */
case _ => response = false
}
}
这在Firefox和Chrome中运行良好,但在使用IE9上传文件时似乎无法通过:
req.body match {
case Full(file) =>
}
我是否缺少或需要做些什么来使其正常工作?
提前感谢您的帮助,非常感谢:)
答案 0 :(得分:0)
首先,req.body将为您提供一个字节数组,而不是文件。如果您正在上传文件或任意有效负载,Lift将自动检测。将文件放入内存并不是一个好主意,特别是如果它们可能很大。
查看req.uploadedFiles
和req.rawInputStream
OnDiskFileParamHolder.apply
- 如果我回想起vallums上传器如何工作,您必须手动将输入流推送到FileParamHolder
,从中java.io.File
您可以调用.file然后使用直接{{1}}实例。