下载服务器生成的文件 (.vcf)



我有一个交互式aspx对话框,其中包含一些地址数据(如姓名,电子邮件,地址,...)。现在我希望用户能够通过单击按钮将地址数据下载为 vcf 文件。现在,生成与 vcf 兼容的字符串不是问题。但是将其保存到客户端是。

虽然它返回 vcf 字符串很好,但它不会打开"另存为"对话框。下面我附上了文件下载的逻辑。我做错了什么?

(也许值得一提的是,代码隐藏函数调用来自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

好的,问题不在于上面提到的逻辑本身。我在客户端处理响应的方式是错误的。调用 java 脚本函数需要其他东西。我会更详细地阐述,但这里的东西是如此本土和专有,没有任何意义。干杯。

相关内容

  • 没有找到相关文章

最新更新