c# – cshtml中的OpenFileDialog

我可以知道我可以在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

相关文章

原文地址:http://msdn.microsoft.com/en-us/magazine/cc163...
前言 随着近些年微服务的流行,有越来越多的开发者和团队所采...
最近因为比较忙,好久没有写博客了,这篇主要给大家分享一下...
在多核CPU在今天和不久的将来,计算机将拥有更多的内核,Mic...
c语言输入成绩怎么判断等级
字符型数据在内存中的存储形式是什么