使用uploadify重命名文件

时间:2009-11-06 06:29:03

标签: asp-classic uploadify http-upload

我在asp中使用uploadify,我想将文件名更改为文件完成时的当前日期+时间。

有什么办法吗?

这是我的JS代码:

$('#fileUploadJquery').uploadify({
'uploader'      :   'Shared/ClientScripts/Uploadify/uploadify.swf',
'cancelImg'     :   'Shared/ClientScripts/Uploadify/cancel.png',
'rollover'      :   false,
'script'        :   'Shared/ClientScripts/Uploadify/upload.asp',
'folder'        :   'Uploads',
'fileDesc'      :   'Image Files',
'fileExt'       :   '*.jpg;*.gif;*.bmp;*.png',
'auto'          :   true,
'wmode'         :   'transparent',
onComplete      :   function (event, queueID, fileObj, response, data) {
    //$('#fileUpload').val(fileObj.name);
    alert(queueID)
}

请咨询

4 个答案:

答案 0 :(得分:0)

我正在使用uploadify直接从浏览器上传到S3。我很想知道有一种方法可以告诉S3将传入的文件命名为用户本地计算机上的名称以外的其他文件。

答案 1 :(得分:0)

您可能需要查看ScriptManager.RegisterClientScriptBlock()

将其放在代码隐藏上,并在服务器上重命名文件后调用该函数。这将调用客户端JavaScript(javascriptFunctionName),它将新文件名传递给Uploadify。这是一些C#:

    public void YourFunction(string fileName)
    {
      ScriptManager.RegisterClientScriptBlock(
        ctrlName,
        ctrlName.GetType(),
        "scriptkey",
        @"javascriptFunctionName('" + fileName + @"');",
        true);
    }    

希望这会有所帮助。当您使用ScriptManager时,它与AJAX一起使用,并在代码隐藏完成处理后通知您的Javascript函数。

答案 2 :(得分:0)

您需要在服务器脚本中执行文件操作。这是一个例子:

''// I'm using this component, but any component must work
dim theForm
set theForm = Server.CreateObject("ABCUpload4.XForm")

theForm.Overwrite = True
theForm.MaxUploadSize = 1000000


''// FileData is the name Uploadify gives the post value containing the file
dim theField
set theField = theForm("FileData")(1)


If theField.FileExists Then

   ''// Renamed the file adding a "random" string in front of the name
   dim FileName
   FileName =  replace(trim(cdbl(now())), ".", "_") + "_" + theField.FileName

   theForm.AbsolutePath = True
   theField.Save Server.MapPath("../uploadedfiles") & "/" + FileName

   ''// Some browser need this
   Response.write "<html><head><title>File uploaded</title></head><body>File uploaded</body></html>"


End If

答案 3 :(得分:0)

我正在使用uploadify,我已经更改了我的文件名,如下所示,检查我的OnComplete函数

'onComplete': function (a, b, c, d, e) {          
            var dt = new Date();                
                var file = c.name.split('.')[0] + "_" + dt.getUTCDate() + dt.getFullYear() + "." + c.name.split('.')[1];

            $("#hdntxtbxFile").val(file);
            UploadSuccess(file, "File"); //function call


            // }
        },

我希望它能帮到你