use*_*757 10 c# asp.net web-services file download
我想使用webservice从一个网站将文件推送到浏览器.我目前正在将文件读入base64字节数组,并从webservice返回.这个web服务是从一个网站调用的,我一直坚持如何将其作为原始文件推送到浏览器.理想情况下,我想将字节数组读入内存流,然后在可能的情况下将其写入Response流,以便最终用户只下载文件.
Ran*_*pho 13
首先,让您的Web服务只返回文件的字节数组,而不是发送base64字节数组.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, 0, file.Bytes.Length);
Response.Flush();
Response.End();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
34602 次 |
最近记录: |