我正在开发一个Web应用程序,它使用控件从其位置获取文件并返回一些字节。我现在想使用server.transfer将这些字节传递给下一页。所以我正在调用response.outputstream.write()并传入字节。
然而,当我调试应用程序时,我收到'System.NotSupportedException' 异常消息,长度和大小为空。可能导致此问题的任何想法?
file = System.IO.File.ReadAllBytes(filepath);
Response.OutputStream.Write(file, 0, file.Length);
Server.Transfer(URL, true);
答案 0 :(得分:0)
你可以这样做:
Page.Response.Clear();
Page.Response.Buffer = false;
Page.Server.ScriptTimeout = 3000;
Page.Response.ContentType = sContentType;
Page.Response.AddHeader("Content-Disposition", "attachment; filename=\"" + sFilename + "\"");
FileInfo oFileInfo = new FileInfo(sSourceFullPath);
long lfull_size = oFileInfo.Length;
oFileInfo = null;
Page.Response.AddHeader("Content-length", lfull_size.ToString());
Page.Response.WriteFile(sSourceFullPath);
Page.Response.End();
我不确定你的问题在哪里。
答案 1 :(得分:0)
因为这是我刚才遇到的事情。确保你没有把
Writer.Flush();
之前
OutputStream.Write();
我犯了这个错误,它给了我与此问题中发布的相同的错误。希望这有助于某人。