0
我使用實體框架在asp.net MVC-5查看和我有提供的功能來上傳存儲在SQL Server作爲FILESTREAM文件(文件未存儲在文件夾中,但其內容作爲數據庫表中的字節數組)。現在我想從數據庫中獲取這些文件,並使它們出現在視圖中(將會有一個鏈接作爲文件名,您可以點擊它並開始下載過程)。此外,表中還有列分別保存文件名,文件擴展名及其內容。 我將爲您提供我的模型和控制器進行上傳,所以你必須知道我是怎麼做的:如何讓下載的文件從控制器
public class File
{
[Key]
public int fileId{ get; set; }
[Required]
public byte[] fileContent{ get; set; }
public string fileUrl { get; set; }
public string fileExtension{ get; set; }
public string fileName{ get; set; }
}
[HttpPost]
public ActionResult UploadFile([Bind(Include = "Title, File")] FileViewModel
fileModel)
{
if (ModelState.IsValid)
{
var fileData = new MemoryStream();
fileModel.File.InputStream.CopyTo(fileData);
string name = Path.GetFileName(fileModel.File.FileName);
string extension= Path.GetExtension(fileModel.File.FileName);
var file = new FileModel { fileName = name,
fileExtension= extension, fileContent= fileData.ToArray() };
_context.File.Add(file);
_context.SaveChanges();
return RedirectToAction("UploadFile");
}
return View(fileModel);
}
我試圖尋找答案,但每個響應做一些事情,我不需要。我查閱了FileStreamResult,但從這個角度來看,我無法滿足我的需求。
我看到類似這樣的東西,但問題在於File方法的第二個參數中的魔術字符串。因爲我有多種類型可以發佈和下載,所以它有點棘手。我會記住這段代碼。謝謝。 –