asp.net Webform应用程序中的OpenFileDialog

vi4fp9gy  于 2023-02-14  发布在  .NET
关注(0)|答案(2)|浏览(239)

我尝试在Webform应用程序中使用OpenFileDialog()控件,但它不起作用。
我尝试了这种编码,但它给了我错误:系统.Windows.窗体.OpenFileDialog未定义

Private Sub FnOpenFileDialog()
    Dim openfile As New System.Windows.Forms.OpenFileDialog
    openfile.Filter = String.Format("Image file (*.jpg)|*.jpg")
    openfile.Multiselect = True
    openfile.ShowDialog()
End Sub

Private Sub btnUpload_PreRender(sender As Object, e As EventArgs) Handles btnUpload.PreRender
    Dim objThread As New Thread(AddressOf FnOpenFileDialog)
    objThread.IsBackground = True
    objThread.SetApartmentState(ApartmentState.STA)
    objThread.Start()
End Sub

或者有什么方法可以做到这一点吗?我不想使用FileUpload控件,因为它显示文本框+按钮。我只想显示Button()控件。
我参考这个网站How to Apply OpenFileDialog Function to a WebApplication

weylhg0b

weylhg0b1#

在ASP.NET Web应用程序中,VB代码在 *Web服务器 * 上运行。因此,即使您成功使用OpenFileDialog,也会导致对话框显示在服务器上,而不是显示在浏览器上。
JavaScript也帮不了你,因为运行JavaScript的浏览器沙盒不允许访问文件系统(从安全的Angular 来看这是好事)。你只需要接受你需要使用文件上传控件。你可以通过css应用样式来定制外观。

nue99wik

nue99wik2#

使用HTML输入文件,如下所示:

<input id="File1" type="file" />

相关问题