2

I need to send file name and file size using uploadify. I DO NOT want to upload the file itself but only send file name and file size. I noticed that uploadify sends file name by default but does not send file size.I experimented using scriptData but it does not work. Here is my code:

$('#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 %>'
        }
        });

I need something like following:

scriptData : {
    '_http_accept': 'application/javascript',
    'format' : 'json',
    '_method': 'post',
    'user_id' : '<%= current_user.id %>',
    'file_size': file_size
    }

How can I send just the file name and file size without uploading the file?

4

2 回答 2

0

您是否尝试过使用formData而不是 scriptData?我不认为你可以让 uploadify 跳过传递文件(毕竟它是一个文件上传器),但你想要的数据仍然会传递到服务器。

至于获取文件大小,我认为没有任何方法可以在客户端访问它,但在后端可以使用params[:upload].size.

于 2013-03-22T03:56:11.200 回答
0

大小和文件名作为 from/header 数据的一部分上传到服务器。文件大小也隐藏在file附加到每个上传队列条目的对​​象中.data()

您可以在服务器端中止/取消上传,但这看起来很混乱。

为什么不直接将所有文件和长度的 json 字符串发送到另一个服务器处理程序而不是文件接收呢?您可以从上传队列中的“文件”对象中提取它。

于 2013-04-18T15:39:57.830 回答