Я пытаюсь сохранить файл в базе данных SQL Server и использую ASP.NET MVC 3 с LINQ to SQL в C #.Когда я пытаюсь установить тип данных столбца в byte [], он говорит, что это недопустимый тип данных.Вместо этого использование типа данных vrabinary (MAX) кажется логичным.
Цель состоит в том, чтобы хранить файлы PDF в базе данных, которую пользователь выбрал для загрузки, используя загрузчик файлов HTTP.Ошибка возникает во время назначения переменной-члена LINQ, которая ссылается на столбец, в котором должен храниться файл.
Ошибка 3 Не удается неявно преобразовать тип 'System.Web.HttpPostedFileBase' в 'System.Data.Linq.Binary 'C: \ Users \ Аарон Паттен \ Documents \ Visual Studio 2010 \ Projects \ MyApp \ MyApp \ Controllers \ 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);
}
Как правильнообо всем этом?
PS: Как отобразить PDF как внедренный объект, не сохраняя его на сервере?
DAP