我有一个带有一些地址数据的交互式aspx对话框(如姓名,电子邮件,地址等)。现在我希望用户能够通过单击按钮将地址数据下载为vcf文件。 现在,生成vcf兼容字符串不是问题。但是将它保存到客户端是。
虽然它很好地返回了vcf字符串,但它没有打开“Save AS”-dialog。下面我附上了我的文件下载逻辑。 我做错了什么?
(也许值得一提的是代码隐藏函数调用来自java脚本,...)
提前感谢任何有用的答案。
Public Sub SaveText(ByVal Text As String)
Dim FileName As String = System.IO.Path.GetRandomFileName()
Using sw As New System.IO.StreamWriter(Server.MapPath(FileName + ".txt"))
sw.WriteLine(Text)
sw.Close()
End Using
Dim fs As System.IO.FileStream = Nothing
fs = System.IO.File.Open(Server.MapPath(FileName + ".txt"), System.IO.FileMode.Open)
Dim btFile(fs.Length) As Byte
fs.Read(btFile, 0, fs.Length)
fs.Close()
With HttpContext.Current.Response
.Clear()
.Buffer = True
.Expires = 0
.AddHeader("Content-disposition", "attachment;filename=" + FileName)
.AddHeader("Content-Length", btFile.Length.ToString)
.ContentType = "application/octet-stream"
.BinaryWrite(btFile)
'.OutputStream.Write(btFile, 0, btFile.Length())
.Flush()
.End()
End With
End Sub
答案 0 :(得分:0)
好的,问题不在于上面提到的逻辑本身。我在客户端处理响应的方式是错误的。调用java脚本函数需要其他东西。 我会详细说明,但这里的东西是如此本土化和专有,它没有任何意义。 欢呼声。