1

我在 Web 表单上显示了一个结果集。用户可用的选项之一是将结果下载为 .xls 电子表格。我正在尝试更新这个经典的 asp 代码,以便可以将下载页面保存到 iPad 上,然后用户可以根据需要在 QuickOffice 之类的东西中查看它。

到目前为止的代码是:

Response.Clear()
Response.Buffer = true
Response.AddHeader "Content-Disposition", "attachment;filename=results.xls"
Response.ContentType = "application/octet-stream"

然后页面运行并在所有内容生成后运行:

response.flush()
response.clear()

问题是,不是允许通过对话框保存内容,而是在浏览器中显示带有原始 .asp 页面标题的内容,我该如何停止呢?

编辑:

我一直在尝试这种方法:

Response.Buffer = true
Response.Clear()
Response.ContentType = "application/octet-stream"
Response.AddHeader "Content-Disposition", "attachment;filename=ConversionResult.xls;"

'and i send the file using the stream as
Set adoStream = CreateObject("ADODB.Stream") 
adoStream.Open() 
adoStream.Type = 1 
adoStream.LoadFromFile(Server.MapPath("xls/streamtest.xlsx")) 
Response.BinaryWrite adoStream.Read() 
adoStream.Close 
Set adoStream = Nothing
response.Flush
response.end

用户对文件结构具有权限,但浏览器只是旋转没有任何反应。首先让我以某种方式为自己辩护……我没有 iPad,只花了很短的时间“玩”我可用的那个。在尝试下载文件时,我也没有看到“另存为”或类似的对话框,并且正在阅读有关 iPad 功能的信息。

有一个 safari 下载管理器插件,但我正在尝试确定这是否仅适用于越狱的 ipad,因为显然这不是我们普通客户的选择。

谢谢。

4

1 回答 1

0

我认为您必须使用 FSO 将其流式传输到临时文件,然后链接到它。这样 Safari (ipad) 应该提供保存选项。

于 2012-06-18T09:20:14.553 回答