zoukankan      html  css  js  c++  java
  • ASP.Net大文件上传组件详解

    首先右键单击网站根目录,在弹出的快捷菜单中,选择"添加引用"菜单项,弹出"添加引用",切换到"浏览"找到组件的Dll文件"Bestcomy.Web.Controls.Upload.dll"(本文件可到官网www.aspnetupload.net下载,本文后面也提供下载),单击"确定",回到VS工作界面,

    Web.config的配置:
    在<configSections>下面加入:
        <section name="aspnetUploadSettings" type="System.Configuration.NameValueFileSectionHandler,System, Version=1.0.5000.0, Culture=neutral,PublicKeyToken=b77a5c561934e089"/>
    在</configSections>下面加入:
    <aspnetUploadSettings>
        <add key="maxRequestLength" value="2048000"/><!--这里的value是指的上传文件的最大值单位为kb-->
    </aspnetUploadSettings>

    本人一开始少加这个老上传不成功,value="2048000"这里可以自行修改相应的值.

    在 <system.web>和 </system.web>之间找到 <httpModules> </httpModules>在这之间加入:
          <add name="UploadModule" type="Bestcomy.Web.Controls.Upload.UploadModule,Bestcomy.Web.Controls.Upload"/>

    上传前台代码:
    <div>
            <input type="file" name="file1" />//注册这是html控件,name都是"file1".<br />

            <input type="file" name="file1" /><br />

            <input type="file" name="file1" /><br />
            <asp:Button ID="Button1" runat="server" Text="上传" onclick="Button1_Click" />
        </div>

    后台代码:
    要加入using System.IO; using Bestcomy.Web.Controls.Upload; 这两命名空间
    protected void Page_Load(object sender, EventArgs e)
        {
            String fpath = Path.Combine(Request.PhysicalApplicationPath, "UploadFiles");//设置上传目录
            if (!Directory.Exists(fpath))//检查上传目录是否存在,如果不存在就简历这个目录
                Directory.CreateDirectory(fpath);
            AspnetUpload upldr = new AspnetUpload();
            upldr.set_UploadFolder(fpath);
            upldr.RegisterModelessProgressBar(this.Button1);//这是注册Button1的进度条,按<F5>运行后刷新解决方案会看到一个文件夹"aspnetUpload_Script"存放名为:ProgressBar.aspx的页面,打开修改文字为中文.
        }
    protected void Button1_Click(object sender, EventArgs e)
        {
            string fpath = Path.Combine(Request.PhysicalApplicationPath, "UploadFiles");//上传文件 要存储的位置
            UploadFileCollection files = AspnetUpload.GetUploadFiles("file1");//获取界面内的上传组件// file1 为 上传控件的name=值
            foreach (UploadFile file in files)//遍历上传组件
            {
                if (file != null)
                    file.SaveAs(Path.Combine(fpath, Path.GetFileName(file.get_FileName())));
            }
        }

    后台一个是判断是否奇存在"UploadFiles"文件夹,如果没有就创建一个"UploadFiles"文件夹在根目录,另一个是按钮事件,判断后保存每个上传控件的文件.

    这样就可以实现开始提出那些vs本身上传控件做不到的功能了,如果想同时上传更多的文件,只要多加一些" <input type="file" name="file1" />"就行了.如有问题,请留言交流.

    Bestcomy.Web.Controls.Upload.dll下载

  • 相关阅读:
    算法----(1)冒泡排序
    淘宝爬虫
    爬虫_豆瓣电影top250 (正则表达式)
    爬虫_猫眼电影top100(正则表达式)
    Android 简单调用摄像头
    Android 简单天气预报
    思维模型
    This view is not constrained, it only has designtime positions, so it will jump to (0,0) unless you
    Android studio preview界面无法预览,报错render problem
    Android studio 3.1.2报错,no target device found
  • 原文地址:https://www.cnblogs.com/-Apple/p/3314060.html
Copyright © 2011-2022 走看看