如何在服务器上获取jQuery / uploadify的文件创建日期?

时间:2010-12-21 04:00:54

标签: javascript jquery asp.net-mvc

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

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

任何想法都赞赏。

1 个答案:

答案 0 :(得分: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对象的信息。