2010-12-21 65 views
1

我在网页上使用jQuery Uploadify插件将文件从本地计算机传输到ASP.NET MVC2控件操作方法。有没有办法将文件的创建日期/时间传输到服务器?如何获取jQuery/uploadify服务器上的文件创建日期?

我可以获取客户端上的Uploadify事件中的数据,但无法弄清楚如何“打包”该数据,以便将其移至具有该文件的服务器。

任何想法赞赏。

回答

2

尝试使用onSelect事件将值添加到scriptData对象。

更新:以下是将数据传递给操作的特别视图。看起来modificationDate在它的time字段中返回一个Unix时间戳,你必须在服务器端转换它。我无法找到关于modificationDate属性的任何文档。

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title>Home</title><link href="/Scripts/uploadify.css" type="text/css" rel="stylesheet" /> 
    <script type="text/javascript" src="/Scripts/jquery-1.4.2.min.js"></script> 
    <script type="text/javascript" src="/Scripts/swfobject.js"></script> 
    <script type="text/javascript" src="/Scripts/jquery.uploadify.v2.1.4.min.js"></script> 
    <script type="text/javascript"> 
     var myScriptData = {}; 
     $(document).ready(function() { 
      $('#file_upload').uploadify({ 
       'uploader': '/Scripts/uploadify.swf', 
       'script': '/Test/Upload', 
       'cancelImg': '/Scripts/cancel.png', 
       'folder': '/App_Data', 
       'auto': true, 
       'onSelect': function (event, ID, fileObj) { 
        $('#file_upload').uploadifySettings('scriptData', { 
         modifiedTimestamp: fileObj.modificationDate.time 
        }); 
        return true; 
       } 
      }); 
      $('#file_upload').uploadifySettings('scriptData', myScriptData); 
     }); 
    </script> 
</head> 
<body> 
    <input id="file_upload" name="file_upload" type="file" /> 
</body> 
</html> 

在您的操作方法中,您可以通过Request.Form["modifiedTimestamp"]获取时间戳。检查here如何将时间戳转换为DateTime对象。

+0

谢谢Artem。这为如何解决问题提供了很好的信息。尝试实施后,我会进行确认。 – ChrisP 2010-12-23 16:34:02

+0

终于开始实施这个效果很好的建议。有一点需要注意的是时间戳值以毫秒为单位,这在转换为DateTime对象时非常重要。此外,modificationDate具有常规的日期属性,如.fullYear等。 – ChrisP 2011-01-06 19:15:45

相关问题