这就是场景.
远程文件服务器上有一个文件(假设我有一个托管在DropBox上的文件)
我想在我的网络应用程序上下载该文件(c#asp.net 4.0)
我想隐藏原始文件的100%位置(我希望它看起来来自我的服务器).
我不想将此文件写入内存或我的服务器上的磁盘.
我曾假设我想使用流来进行流式复制.例
Stream inputStream = response.GetResponseStream();
inputStream.CopyTo(Response.OutputStream, 4096);
inputStream.Flush();
Response.Flush();
Response.End();
Run Code Online (Sandbox Code Playgroud)
然而,这会将整个流复制到内存中,然后再将其写入客户端浏览器.任何想法都会很棒.
我需要我的服务器基本上只是充当代理并屏蔽原始文件位置
谢谢你的帮助.
这是非常好的C#代码,并提供正确的URL提供良好.但是,通过降低代码的可读性,一切都只在一行完成.
这是代码:
return new StreamReader(WebRequest.Create(urlName).GetResponse().GetResponseStream()).ReadToEnd();
Run Code Online (Sandbox Code Playgroud)
我只是想知道开发人员对这种编写代码的简短方式的看法
有时我会从几个网站得到一些乱码回复.
这是我的代码:
Stream responseStream = response.GetResponseStream();
buffer = new Byte[256];//
int bytesRead;
while ((bytesRead = responseStream.Read(buffer, 0, buffer.Length)) > 0)
{
outStream.Write(buffer, 0, bytesRead);
//resp=resp+ .UTF8.GetString(buffer, 0, bytesRead);
resp=resp + Encoding.ASCII.GetString(buffer); //resp is string
}
Run Code Online (Sandbox Code Playgroud)
当我从www.google.co.in请求时,我在resp字符串中得到以下字符:
?\ B\0\0\0\0\0ερ}ÿ·F ?????????Ž?????? {7米??? OX吗?\ r?ÿ??? 33 ?? d; Y ???? N 0?
我该如何克服这个问题?它与编码有关吗?