2010-12-21 41 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

相關問題