查看
@Html.TextBoxFor(model => model.ChooseFile, "", new { @class = "span12", placeholder = "Choose File",type="file"})
当我编辑它时,我需要选择并存储在数据库中的文件名。也将图像存储在文件夹图像中。
我还需要为其提供下载选项。
请帮帮我。
答案 0 :(得分:1)
你有几个选择
如果文件大小很小,请从db读取字节并从MBC控制器发送为文件结果
如果文件很大,请尝试流式传输。
您可以尝试这样
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);
}