创建一个没有jquery或ajax的文件上传功能

本文关键字:ajax 文件 功能 jquery 一个 创建 | 更新日期: 2023-09-27 18:12:16

我必须创建一个只允许。csv文件的文件上传。到目前为止,我有一个装饰性的接口:

<asp:Label ID="importLabel" runat="server" Text="Update Prices" CssClass="fieldLabel" />
                <asp:FileUpload ID="importFileUpload" runat="server" OnDataBinding="importFileUpload_DataBinding"/>
                <asp:Button ID="importFileButton" runat="server" Text="Update Prices" CssClass="fieldlabel" OnClick="importFileButton_Click" />
                <br />
                <asp:RegularExpressionValidator ID="uploadValidator" runat="server" ControlToValidate="importFileUpload" ErrorMessage="Only .csv files are allowed" 
                        ValidationExpression="(.+'.([Cc][Ss][Vv]))" />

它工作,因为它应该,你可以选择一个。csv文件,但我不确定我的下一步在这里。任何在正确方向上的帮助或推动都会很棒!

创建一个没有jquery或ajax的文件上传功能

下一步是从后面的代码上传选定的文件:

    protected void importFileButton_Click(object sender, EventArgs e)
    {
        if (importFileUpload.HasFile)
        {
            string fileExt =
               System.IO.Path.GetExtension(importFileUpload.FileName);
            if (fileExt == ".csv")
            {
                try
                {
                    importFileUpload.SaveAs("C:''Uploads''" + importFileUpload.FileName);
                    importLabel.Text = "File name: " +
                        importFileUpload.PostedFile.FileName + "<br>" +
                        importFileUpload.PostedFile.ContentLength + " kb<br>" +
                        "Content type: " +
                        importFileUpload.PostedFile.ContentType;
                }
                catch (Exception ex)
                {
                    importLabel.Text = "ERROR: " + ex.Message.ToString();
                }
            }
            else
                importLabel.Text = "Only .csv files allowed!";
        }
        else
            importLabel.Text = "You have not specified a file.";
    }

我以前使用过dropzone.js来实现这个特定的目的。它不需要jquery。您应该能够执行如下操作:

Dropzone.options.filedrop = {
acceptedMimeTypes: 'text/csv',
}

请参阅有关限制特定mime类型的实现的问题。