我可能知道我能在Razor中编写像这样的C#Opendialog这样的东西吗?我正在尝试制作一个openfiledialog,该对话框将为用户提供将照片上传到SqlServerCe数据库的功能:
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.InitialDirectory = "c:\\";
openFileDialog1.Filter = "All files (*.*)|*.*";
openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = true;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
try
{
string path = openFileDialog1.FileName;
byte[] image = File.ReadAllBytes(path);
string query = "UPDATE firma SET logo=@Image WHERE id = 1";
SqlCommand sqlCommand = new SqlCommand(query, conn);
sqlCommand.Parameters.AddWithValue("@Image", image);
conn.Open();
sqlCommand.ExecuteNonQuery();
conn.Close();
}
catch (Exception ex)
{
MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
}
最佳答案
您不能在Web应用程序中使用特定的OpenFileDialog(la C#/winforms/wpf)(不使用Silverlight或其他插件)。
您所能做的就是使用文件输入标签,当用户点击浏览按钮时,这将导致浏览器打开其默认文件浏览器对话框:
<input type="file" name="elementName" />
发布表单后,该文件将作为输入流的一部分包括在内。
有关
<input>
元素的完整规范,请转到此处:http://www.w3schools.com/tags/tag_input.asp关于c# - CSHTML中的OpenFileDialog,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19799319/