如何在编辑视图中显示文件名?文件名存储在images文件夹中,也存储在数据库中

时间:2015-03-28 12:29:28

标签: asp.net-mvc asp.net-mvc-4

查看

@Html.TextBoxFor(model => model.ChooseFile, "", new { @class = "span12", placeholder = "Choose File",type="file"})

当我编辑它时,我需要选择并存储在数据库中的文件名。也将图像存储在文件夹图像中。

我还需要为其提供下载选项。

请帮帮我。

1 个答案:

答案 0 :(得分:1)

你有几个选择

  1. 如果文件大小很小,请从db读取字节并从MBC控制器发送为文件结果

  2. 如果文件很大,请尝试流式传输。

  3. 您可以尝试这样

      public FileContentResult GetFile(int id)
      {
         SqlDataReader rdr; byte[] fileContent = null; 
         string mimeType = "";string fileName = "";
         const string connect = @"Server=.\SQLExpress;Database=FileTest;Trusted_Connection=True;";
    
         using (var conn = new SqlConnection(connect))
         {
            var qry = "SELECT FileContent, MimeType, FileName FROM FileStore WHERE ID = @ID";
            var cmd = new SqlCommand(qry, conn);
            cmd.Parameters.AddWithValue("@ID", id);
            conn.Open();
            rdr = cmd.ExecuteReader();
            if (rdr.HasRows)
              {
                 rdr.Read();
                 fileContent = (byte[])rdr["FileContent"];
                 mimeType = rdr["MimeType"].ToString();
                 fileName = rdr["FileName"].ToString();
              }
            }
            return File(fileContent, mimeType, fileName);
          }