当前位置 博文首页 > net2ftp上传覆盖多个文件,解决了上传文件大小和多文件限制

    net2ftp上传覆盖多个文件,解决了上传文件大小和多文件限制

    作者:xiaoyingying 时间:2021-08-26 16:05

        IIS7批量FTP管理功能说明:
        1、可批量导入,导出FTP信息
        2、其他ftp工具有的功能,我们也有
        3、特色功能:可以定时上传下载
        4、数据信息列表化、一眼就能知道那个是那个
        5、批量连接标签页式切换方便快捷
        6、7大连接模式更多好的兼容
        7、内嵌编辑器有效解决普通txt记事本乱码
        8、锁屏功能当程序有规定时间内没人操作,则自动锁程序。输入密码才可以正常操作
        本产品适用于:懒得记录FTP信息和有批量定时备份,上传下载的运维或站长。
        下载地址:http://ftp.iis7.com/
        图片:
       
        1、首先确认有写的权限
        2、解决文件大小限制
        您可能没意识到,但对于可以使用该技术上载的文件的大小存在限制。默认情况下,使用FileUpload控件上载到服务器的文件最大为4MB左右。不能上载超过该限制的任何内容。
        然而,关于.NET的重要一点是,它通常会提供一种规避限制的方法。您通常可以更改正在使用的默认设置。要更改大小限制,可以在web.config.comments文件(可以在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG的ASP.NET2.0配置文件夹中找到)或应用程序的web.config文件中进行一些改动。
        在web.config.comments文件中,查找一个名为<executionTimeout>的节点,如下所示:
        <httpRuntime
        executionTimeout="110"
        maxRequestLength="4096"
        requestLengthDiskThreshold="80"
        useFullyQualifiedRedirectUrl="false"
        minFreeThreads="8"
        minLocalRequestFreeThreads="4"
        appRequestQueueLimit="5000"
        enableKernelOutputCache="true"
        enableVersionHeader="true"
        requireRootedSaveASPath="true"
        enable="true"
        shutdownTimeout="90"
        delayNotificationTimeout="5"
        waitChangeNotification="0"
        maxWaitChangeNotification="0"
        enableHeaderChecking="true"
        sendCacheControlHeader="true"
        apartmentThreading="false"/>
        在这个节点上进行了许多操作,但负责上载文件大小的设置是maxRequestLength属性。默认情况下,该属性设置为4096千字节(KB)。只需更改此值,就可以增加可上载到服务器的文件大小。如果想要允许将10兆字节(MB)的文件上载到服务器,则将maxRequestLength值设置为11264,这意味着该应用程序允许将最大为11000KB的文件上载到服务器。
        在web.config.comments文件中进行此改动会将该设置应用于服务器上的所有应用程序。如果要将该设置仅应用于正在使用的应用程序,则将该节点应用于应用程序的web.config文件,覆盖web.config.comments文件中的所有设置。请确保该节点位于配置文件中的<system.web>节点之间。
        与上载文件大小限制有关的另一个设置是赋给<httpRuntime>节点中executionTimeout属性的值。
        赋给executionTimeout属性的值是ASP.NET关闭前允许发生的上载秒数。如果要允许将更大的文件上载到服务器,则还要增加该值和maxRequestLength值。
        增加可上载文件大小的一个缺点是,存在通过发出大量请求来攻击服务器的黑客。要避免这种情况,可以减小允许上载的文件大小;否则,可能会发现数百个甚至上千个10MB的请求访问您的服务器。
        3、同时上载多个文件
        目前为止,已经有几个不错的示例说明了如何不费周折地将文件上载到服务器。现在,让我们看看如何从一个页面将多个文件上载到服务器。
        Microsoft.NETFramework中没有任何内置功能使您可以从一个ASP.NET页上载多个文件。然而,只需要少量工作,您就可以像过去使用.NET1.x那样完成此任务。
        方法是将System.IO类导入到ASP.NET页中,然后使用HttpFileCollection类捕获通过Request对象发送来的所有文件。该方法使您可以从一个页面上载所需数量的文件。
        如果需要,您完全可以分别处理该页上的每个FileUpload控件,如清单5所示。
        清单5.分别处理每个FileUpload控件
        if(FileUpload1.HasFile){
        //Handlefile
        }
        if(FileUpload2.HasFile){
        //Handlefile
        }
        该方法有效,但可能存在这种情况:您要使用HttpFileCollection类处理文件,特别是在处理动态生成的服务器控件列表时。
        针对这种情况的示例,您可以生成一个ASP.NET页,该页有三个FileUpload控件和一个Submit按钮(使用Button控件)。用户单击Submit按钮并且文件被发布到服务器之后,隐藏的代码将文件保存到服务器上的特定位置。保存文件后,在ASP.NET页上显示已发布的文件信息(请参见清单6)。
        清单6.将多个文件上载到服务器
        protectedvoidButton1_Click(objectsender,EventArgse)
        {
        stringfilepath="C:\\Uploads";
        HttpFileCollectionuploadedFiles=Request.Files;
        for(inti=0;i<uploadedFiles.Count;i++)
        {
        HttpPostedFileuserPostedFile=uploadedFiles[i];
        try
        {
        if(userPostedFile.ContentLength>0)
        {
        Label1.Text+="File#"+(i+1)+
        "";
        Label1.Text+="FileContentType:"+
        userPostedFile.ContentType+"";
        Label1.Text+="FileSize:"+
        userPostedFile.ContentLength+"kb";
        Label1.Text+="FileName:"+
        userPostedFile.FileName+"";
        userPostedFile.SaveAs(filepath+"\\"+
        System.IO.Path.GetFileName(userPostedFile.FileName));
        Label1.Text+="Locationwheresaved:"+
        filepath+"\\"+
        System.IO.Path.GetFileName(userPostedFile.FileName)+
        "
        ";
        }
        }
        catch(ExceptionEx)
        {
        Label1.Text+="Error:"+Ex.Message;
        }
        }
        }
        原文:https://www.cnblogs.com/yangjunwl/archive/2007/10/12/921729.html