【问题标题】:asp.net multiple uploads with multiple fileupload control带有多个文件上传控件的asp.net多次上传
【发布时间】:2011-10-12 00:05:35
【问题描述】:

我正在处理多个文件上传的小型项目。

一开始用户有一个文件上传控件一个小图像,称为fileuploadadder

每次用户点击 fileuploadadder 时,第一个 fileupload 控件的克隆会使用 jquery 添加到页面中> 。文件上传控件的 idsuniqe。比如 file1 , file2, ...

现在,我希望当用户单击页面末尾的按钮时,asp.net 会上传所选文件。

tnx

【问题讨论】:

    标签: c# jquery .net asp.net file-upload


    【解决方案1】:

    这是一个例子:

    <%@ Page Language="C#" %>
    <%@ Import Namespace="System.IO" %>
    <script type="text/c#" runat="server">
        protected void BtnUpload_Click(object sender, EventArgs e)
        {
            if (Request.Files != null)
            {
                foreach (string file in Request.Files)
                {
                    var uploadedFile = Request.Files[file];
                    if (uploadedFile.ContentLength > 0)
                    {
                        var appData = Server.MapPath("~/app_data");
                        var fileName = Path.GetFileName(uploadedFile.FileName);
                        uploadedFile.SaveAs(Path.Combine(appData, fileName));
                    }
                }
            }
        }
    </script>
    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
    </head>
    <body>
        <form id="Form1" runat="server" enctype="multipart/form-data">
            <a href="#" id="add">Add file</a>
            <div id="files"></div>
            <asp:LinkButton ID="BtnUpload" runat="server" Text="Upload" OnClick="BtnUpload_Click" />
        </form>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
        <script type="text/javascript">
            $('#add').click(function () {
                $('#files').append($('<input/>', {
                    type: 'file',
                    name: 'file' + new Date().getTime()
                }));
                return false;
            });
        </script>
    </body>
    </html>
    

    【讨论】:

    • App_data 文件夹不应用于上传此类文件,因为这是为数据库文件等数据保留的特殊文件夹。
    • @Muhammad Akhtar,这只是一个例子。使用App_Data 文件夹来存储上传的文件并没有什么不好,如 Phil Haack 所示:haacked.com/archive/2010/07/16/…。它不是专门为数据库保留的。
    • hmm,但我在 2 年前工作时使用此文件夹时遇到问题。我已经在 StackOverflow 上发布了这个问题。请检查此stackoverflow.com/questions/1519790/…
    • @Muhammad Akhtar,您遇到的问题是您试图将此文件夹中的文件直接提供给客户端。这当然是不可能的,因为 ASP.NET 不提供此文件夹中的文件。我通常做的是使用 HTTP 处理程序来提供来自该文件夹的上传文件。这让我可以控制哪个用户访问哪个文件。
    • 嗯,没错。感谢您的澄清。你能给我一个参考链接吗?只是我个人的理解?
    猜你喜欢
    • 2019-01-29
    • 2016-08-10
    • 1970-01-01
    • 2015-02-26
    • 2010-10-08
    • 1970-01-01
    • 2023-03-26
    • 2017-11-14
    • 1970-01-01
    相关资源
    最近更新 更多