我需要使用uploadify发送文件名和文件大小。 我不想上传文件本身,只是发送文件名和文件大小。我注意到uploadify默认发送文件名但不发送文件大小。我使用scriptData进行了实验但是它不起作用。这是我的代码:
$('#logical_item_upload').uploadify({
uploader : '/uploadify/uploadify.swf',
cancelImg : '/uploadify/cancel.png',
multi : true,
auto : true,
script : "<%=save_upload_logical_items_path%>",
onComplete : function(event, queueID, fileObj, response, data) {
var dat = eval('(' + response + ')');
$.getScript(dat.upload);},
scriptData : {
'_http_accept': 'application/javascript',
'format' : 'json',
'_method': 'post',
'user_id' : '<%= current_user.id %>'
}
});
我需要以下内容:
scriptData : {
'_http_accept': 'application/javascript',
'format' : 'json',
'_method': 'post',
'user_id' : '<%= current_user.id %>',
'file_size': file_size
}
如何在不上传文件的情况下发送文件名和文件大小?
答案 0 :(得分:0)
您是否尝试使用formData而不是scriptData?我认为你不能让uploadify跳过传递文件(毕竟它是一个文件上传器),但你想要的数据仍会传递给服务器。
至于获取文件大小,我认为没有办法在客户端访问它,但在后端可以使用params[:upload].size
轻松访问。
答案 1 :(得分:0)
大小和文件名作为from / header数据的一部分进入服务器。文件大小也隐藏在附加到每个上传队列条目file
的{{1}}对象中。
您可以在服务器端中止/取消上传,但这看起来很混乱。
为什么不将所有文件和长度的json字符串发送到另一个服务器处理程序而不是接收文件?您可以从上传队列中的“文件”对象中提取它。