我試圖在SQL Server數據庫中存儲文件,並且在C#中使用ASP.NET MVC 3和LINQ to SQL。當我嘗試將列的數據類型設置爲byte []時,它表示這是無效的數據類型。使用vrabinary(MAX)數據類型似乎是合乎邏輯的事情。LINQ不提供用於存儲文件的byte []數據類型
目標是將PDF文件存儲在用戶選擇使用HTTP文件上傳器上傳的數據庫中。在指定要存儲文件的列的LINQ成員變量的賦值期間發生該錯誤。
錯誤3無法隱式轉換類型 'System.Web.HttpPostedFileBase' 到 'System.Data.Linq.Binary' C:\用戶\亞倫彭定康\文檔\ Visual Studio 2010的\項目\ MyApp的\ MyApp的\控制器\ MyController.cs 66 31 MyApp
我還沒找到太多遇到這個問題的其他人的方式,所以我認爲必須有一些我遺失的東西,對於任何人來說都是過於基本的。
我的控制器:
public ActionResult UploadPDF()
{
List<ViewDataUploadFilesResult> r = new List<ViewDataUploadFilesResult>();
HttpPostedFileBase hpf;// = Request.Files[file] as HttpPostedFileBase;
foreach (string file in Request.Files)
{
hpf = Request.Files[file] as HttpPostedFileBase;
if (hpf.ContentLength == 0)
continue;
string savedFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "images\\" + Path.GetFileName(hpf.FileName));
hpf.SaveAs(savedFileName);
r.Add(new ViewDataUploadFilesResult()
{
Name = savedFileName,
Length = hpf.ContentLength
});
}
MyApp.Models.MyAppDataContext db = new MyApp.Models.MyAppDataContext();
MyApp.Models.PDFFile myPDFFile = new MyApp.Models.PDFFile();
myPDFFile.Content = hpf;
db.questions.InsertOnSubmit(myPDFFile);
db.SubmitChanges();
return View("UploadPDF", r);
}
什麼的去了解這一切的正確方法?
P.S .:如何將PDF作爲嵌入對象顯示而不保存到服務器?
D.A.P.
設計師沒有該選項。 –