c#从服务器读文件的问题

c#从服务器读文件的问题,第1张

C#从服务器上面读取文件,然后下载到本地可以用WriteFile()或者TransmitFile()方法实现,代码如下:

//1、TransmitFile实现下载 
    protected void Button1_Click(object sender, EventArgs e)
    {
        / 
        微软为Response对象提供了一个新的方法TransmitFile来解决使用ResponseBinaryWrite 
        下载超过400mb的文件时导致Aspnet_wpexe进程回收而无法成功下载的问题。 
        代码如下: 
        / 
        ResponseContentType = "application/x-zip-compressed";
        ResponseAddHeader("Content-Disposition", "attachment;filename=zzip");
        string filename = ServerMapPath("DownLoad/zzip");
        ResponseTransmitFile(filename);
    }
//2、WriteFile实现下载 
    protected void Button2_Click(object sender, EventArgs e)
    {
        / 
        using SystemIO;
        /
        string fileName = "asdtxt";//客户端保存的文件名 
        string filePath = ServerMapPath("DownLoad/aaatxt");//路径
        FileInfo fileInfo = new FileInfo(filePath);
        ResponseClear();
        ResponseClearContent();
        ResponseClearHeaders();
        ResponseAddHeader("Content-Disposition", "attachment;filename=" + fileName);
        ResponseAddHeader("Content-Length", fileInfoLengthToString());
        ResponseAddHeader("Content-Transfer-Encoding", "binary");
        ResponseContentType = "application/octet-stream";
        ResponseContentEncoding = SystemTextEncodingGetEncoding("gb2312");
        ResponseWriteFile(fileInfoFullName);
        ResponseFlush();
        ResponseEnd();
    }

服务端获取客户端文件没有这个可能!安全性问题。除非FileUpload控件,你可以用FileUpload控件里的方法获取文件大小,文件命,文件内容没试过。获取到这些,可以不用保存在服务器端。 FileUpload属于被动的,不属于主动。需要客户端 *** 作才能进行。所以这个在安全范围是允许的。
还有就是ActiveX插件了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10725433.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存