加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 从webservice下载文件 – 在ASP.NET网站

发布时间:2020-12-15 04:25:00 所属栏目:百科 来源:网络整理
导读:我想使用webservice从一个网站将文件推送到浏览器.我正在将文件读入base64字节数组,并从webservice返回.这个webservice是从一个网站调用的,我坚持把这个原始文件推送到浏览器.理想情况下,我想将字节数组读入内存流,然后只要将其写入响应流即可,最终用户只需
我想使用webservice从一个网站将文件推送到浏览器.我正在将文件读入base64字节数组,并从webservice返回.这个webservice是从一个网站调用的,我坚持把这个原始文件推送到浏览器.理想情况下,我想将字节数组读入内存流,然后只要将其写入响应流即可,最终用户只需下载文件即可.

解决方法

首先,而不是发送一个base64字节的数组,让您的Web服务只返回一个字节数组为您的文件. Response.OutputStream.Write()将自动对您的字节进行base64编码,因此您也可以将它们在内存流中进行编码.

其次,您不仅需要字节数.您将需要与文件关联的元数据.对于下面的代码片段,我将所有的元数据放在一个单独的类(本地实例名为“file”)中.然后,只要使用此代码段,一旦您拥有所需的数据:

Response.Clear();
Response.ClearHeaders();
Response.ContentType = file.ContentType;
Response.AddHeader("Content-Disposition","attachment; filename="" + file.FileName + """);
Response.AddHeader("Content-Length",file.FileSize.ToString());
Response.OutputStream.Write(file.Bytes,file.Bytes.Length);
Response.Flush();
Response.End();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读