Android应用程序选择器的Asp.net文件下载

Android应用程序选择器的Asp.net文件下载,android,asp.net,download,mobile-website,Android,Asp.net,Download,Mobile Website,我试图让我的文件下载工作,就像它是一个直接链接到服务器上的文件路径 目前,我正在执行类似以下内容的文件下载: 我已经看到,如果您有一个指向这样的直接文件的链接: <a href="/path/to/file/myfile.pdf> Download </a> 我已经尝试了内联和附件的内容配置。在这种情况下没有区别。我将研究如何将其转换为.ashx,但我不认为这会对响应输出流产生影响 文件名也没有正确下载。显示Default.aspx的代码,它将文件发送到客户端。可能是在

我试图让我的文件下载工作,就像它是一个直接链接到服务器上的文件路径

目前,我正在执行类似以下内容的文件下载:

我已经看到,如果您有一个指向这样的直接文件的链接:

<a href="/path/to/file/myfile.pdf> Download </a>
我已经尝试了内联和附件的内容配置。在这种情况下没有区别。我将研究如何将其转换为.ashx,但我不认为这会对响应输出流产生影响


文件名也没有正确下载。

显示Default.aspx的代码,它将文件发送到客户端。可能是在页面加载方法中。顺便说一句,如果您需要下载文件的功能,那么最好将它们放在一个通用的Handler.ashx而不是Page.aspx中。这是因为下载文件通常不需要UI,也不需要所有的开销。我猜您没有为pdf返回正确的Mime类型。mime类型应为application/x-pdf。@mason所说的也是真的。你应该走ashx的路我已经在帖子后面添加了代码。
<a href="Default.aspx?file=myfile.pdf"> Download </a>
        httpContext.Response.Clear()
        httpContext.Response.ClearHeaders()
        httpContext.Response.ClearContent()
        httpContext.Response.ContentType = mimetype //In this case it is "application/pdf" 

        httpContext.Response.AddHeader("Content-Length", My.Computer.FileSystem.GetFileInfo(filepath).Length)
        httpContext.Response.AddHeader("Content-Disposition", "inline; filename=""" & filename & """")

        httpContext.Response.Flush()
        httpContext.Response.WriteFile(filepath)

        httpContext.Response.Flush()
        httpContext.Response.End()