我尝试在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
2条答案
按热度按时间weylhg0b1#
在ASP.NET Web应用程序中,VB代码在 *Web服务器 * 上运行。因此,即使您成功使用
OpenFileDialog
,也会导致对话框显示在服务器上,而不是显示在浏览器上。JavaScript也帮不了你,因为运行JavaScript的浏览器沙盒不允许访问文件系统(从安全的Angular 来看这是好事)。你只需要接受你需要使用文件上传控件。你可以通过css应用样式来定制外观。
nue99wik2#
使用HTML输入文件,如下所示: