C# 在新选项卡或窗口中以Image/PDF格式打开字节[]
我可以通过asp.net C#中的模拟从另一台服务器访问文件(如图像或pdf) 问题是,此模拟位于另一个库中,文件以字节数组的形式返回 现在我想在一个新的选项卡或窗口中打开image/pdf的这个字节数组 示例:假设我选择查看“file1.tiff”,请求将转到相应的服务器,并使用适当的凭据搜索该文件。如果找到文件(主要动机),它将把这个“file1.tiff”转换成字节数组(比如缓冲区),并返回这个文件。这由“C# 在新选项卡或窗口中以Image/PDF格式打开字节[],c#,asp.net,web-applications,C#,Asp.net,Web Applications,我可以通过asp.net C#中的模拟从另一台服务器访问文件(如图像或pdf) 问题是,此模拟位于另一个库中,文件以字节数组的形式返回 现在我想在一个新的选项卡或窗口中打开image/pdf的这个字节数组 示例:假设我选择查看“file1.tiff”,请求将转到相应的服务器,并使用适当的凭据搜索该文件。如果找到文件(主要动机),它将把这个“file1.tiff”转换成字节数组(比如缓冲区),并返回这个文件。这由“byte[]image”接收。现在,我想在一个新的选项卡或窗口中打开这张图片来查看,
byte[]image
”接收。现在,我想在一个新的选项卡或窗口中打开这张图片来查看,而不需要询问“打开保存或取消”对话框
我已经试过:
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "image/tiff";
Response.AddHeader("content-length", image.Length.ToString());
Response.BinaryWrite(image);
Response.Flush();Response.End();
但它有两个问题:
您可以使用
HttpResponse.WriteFile
方法将流直接发送到客户端。将指定的文件直接写入HTTP
响应输出流
您可以创建
IHttpHandler
来发送流,从而避免一些页面生命周期,提高性能。这是我两个都用过的。我只安装了InternetExplorer8,它对我没有任何用处。谢谢
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "image/tiff";
Response.AddHeader("content-length", image.Length.ToString());
Response.BinaryWrite(image);
Response.Flush();Response.End();