在 asp.net 中使用 dropzone.js

Posted

技术标签:

【中文标题】在 asp.net 中使用 dropzone.js【英文标题】:Using dropzone.js in asp.net 【发布时间】:2013-04-09 16:18:49 【问题描述】:

几天以来,我一直在尝试通过拖放界面实现多文件上传。 我搜索了很多,最后找到了我的确切要求 http://www.dropzonejs.com/

我尝试了上述网站的相同步骤。 但是,我无法在我的 aspx 页面中实现这个 dropzone 功能。

【问题讨论】:

【参考方案1】:

假设您使用的是 Web 表单,您需要实现一个页面来读取发布的文件数据并将其保存到文件中。

示例 .ASPX

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Mvc4Application_Basic.WebForm1" %>

    <!DOCTYPE html>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script src="https://raw.github.com/enyo/dropzone/master/downloads/dropzone.js"></script>
        <link href="http://www.dropzonejs.com/css/general.css?v=7" rel="stylesheet" />
    </head>
    <body>
        <form id="frmMain" runat="server" class="dropzone">
            <div>
                <div class="fallback">
                    <input name="file" type="file" multiple />
                </div>
            </div>
        </form>
    </body>
    </html>

示例代码隐藏

    public partial class WebForm1 : System.Web.UI.Page
    
        protected void Page_Load(object sender, EventArgs e)
        
            foreach (string s in Request.Files)
            
                HttpPostedFile file = Request.Files[s];

                int fileSizeInBytes = file.ContentLength;
                string fileName = Request.Headers["X-File-Name"];
                string fileExtension = "";

                if (!string.IsNullOrEmpty(fileName))
                    fileExtension = Path.GetExtension(fileName);

                // IMPORTANT! Make sure to validate uploaded file contents, size, etc. to prevent scripts being uploaded into your web app directory
                string savedFileName = Path.Combine(@"C:\Temp\", Guid.NewGuid().ToString() + fileExtension);
                file.SaveAs(savedFileName);
            
        
    

如果您使用的是 MVC,请参阅此https://***.com/a/15670033/2288997

【讨论】:

我知道我不应该在这里说谢谢,但该死的谢谢,我爱你!!!! :) 我在按钮单击时使用您的方法,但 Request.Files 得到空值,如果可能,请暗示感谢@Arsen

以上是关于在 asp.net 中使用 dropzone.js的主要内容,如果未能解决你的问题,请参考以下文章

ASP.Net MVC 中的简单 Dropzone 实现 - 如何在控制器中获取数据?

加载Dropzone.js与Require.js

Dropzone.JS 在同一个请求中发送文件和表单数据

在每个文件上传时使用 dropzone.js 发送自定义数据

裁剪器在使用 dropzone js 上传之前裁剪多个图像

autoProcessQueue = false在dropzone.js中不起作用