【发布时间】:2012-12-08 21:40:20
【问题描述】:
我将 PDF 文件保存在 Web 应用程序外部的服务器文件夹中(出于安全原因),我需要使用 google 文档预览文件。
<iframe src="http://docs.google.com/gview?url=????&embedded=true"
style="width:718px; height:700px;" frameborder="0"></iframe>
直到现在,我通过以文件路径为参数的表单中的重定向使它们可供下载:
string path = Request.QueryString["src"];
int index = Request.QueryString["src"].ToString().LastIndexOf("\\");
string filename = Request.QueryString["src"].ToString().Substring(index + 1);
FileStream fileStream = new FileStream(path, FileMode.Open);
int fileSize = (int)fileStream.Length;
byte[] Buffer = new byte[fileSize];
fileStream.Read(Buffer, 0, fileSize);
fileStream.Close();
Response.ContentType = ContType(path);
Response.AddHeader("content-disposition", "attachment;filename=\"" + filename);
Response.BinaryWrite(Buffer);
Response.End();
我尝试添加 url file.aspx?src=C:\... 作为 google doc iframe 的 url 的参数,比如
http://docs.google.com/gview?url=file.aspx?src=C:\...
但它不起作用。
还有其他方法可以将 URL 分配给流吗?
【问题讨论】:
-
如果 Google 文档是“客户端”(您不再强制客户端下载文件),则不确定您(仍然)需要额外的标头
content-disposition。嗯…… -
问题是我不能写一个带有参数的url作为docs.google.com的参数。这就像嵌套的查询字符串...
标签: c# asp.net pdf stream google-docs