基本上我需要知道的是如何创建一个通用的“另存为”菜单,然后将该信息传递给我的webclient filedownload方法,其中显示“NEEDSTOBESAVEDAS。我已经在另一个区域有一个上传按钮,它保存了文件在数据库中服务器上的位置,在按钮单击事件中传递。这是我的代码:
--asp:linkbutton ButtonType="linkButton" Runat="server" Text="Download PDF" OnClick="Button2_Click" CommandArgument = '<%# Eval("part_pdf") %>--
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim dlbutton As LinkButton = CType(sender, LinkButton)
Dim url = dlbutton.CommandArgument
DownloadFile(url)
End Sub
Public Sub DownloadFile(ByVal _URL As String)
Dim wclient As New WebClient()
wclient.DownloadFile(_URL, "NEEDSTOBESAVEASDIALOG")
End Sub
End Class
答案 0 :(得分:0)
您不能拥有自定义另存为对话框客户端。
浏览器将始终提示用户做出选择,使用服务器提供的文件名(仅限无路径!)作为默认值。
有一个很好的理由:假设一个网站可以将文件保存到任意位置而无需任何用户交互:
如果(不太清楚)你想从客户端选择一个文件夹,然后下载服务器端(在服务器文件夹中),你会碰到另一面墙:通常(再次安全原因)IIS和ASP.NET用户有没有足够的权限来编写服务器中的所有东西(这是黑客们的一扇门)。