Я работаю в ASP.NET MVC. Я сохранил файл в базе данных, теперь хочу загрузить и отобразить его содержимое. Я работаю в слоях.Ошибка при загрузке файла в ASP.NET MVC
Вот мой код.
Действие контроллера используется для загрузки файла
[HttpPost]
public ActionResult Edit(int id, UpdateAdvertisement model, HttpPostedFileBase file)
{
try
{
AdvertisementDTO add = new AdvertisementDTO();
add.DocImage = new byte[file.ContentLength];
add.ContentType = file.ContentType;
add.DocName = Convert.ToString(DateTime.Now.Ticks);
new AdvertisementHandler().Update(id, add);
return RedirectToAction("Index");
}
catch
{
return View();
}
}
контроллера для загрузки файла
public FileContentResult DownloadFile(int id)
{
string DocumentContentType = new AdvertisementHandler().DownloadContent(id);
string DocumentName = new AdvertisementHandler().DownloadDocumentName(id);
byte[] DocumentImage = new AdvertisementHandler().DownloadImage(id);
//return File(filename, contentType, "Report.pdf");
return File(DocumentImage, DocumentContentType, DocumentName);
//return File.ReadAllBytes(DocumentName);
}
Business Logic Layer
Эти запросы, которые используются для доступа к базе данных.
public byte[] DownloadImage(int id)
{
byte[] file = (from f in db.TBL_ADVERTISEMENT
where f.ID == id
select new AdvertisementDTO
{
DocImage = f.DOCUMENT_IMG
}
).ToArray();
return file;
}
public string DownloadContent(int id)
{
string file = (from f in db.TBL_ADVERTISEMENT
where f.ID == id
select new AdvertisementDTO
{
ContentType = f.CONTENTTYPE
}
).ToString();
return file;
}
public string DownloadDocumentName(int id)
{
string file = (from f in db.TBL_ADVERTISEMENT
where f.ID == id
select new AdvertisementDTO
{
DocName = f.DOC_NAME
}
).ToString();
return file;
}
Эта ошибка возникает, когда я скомпилировать этот код
Ошибка 1
Не может неявно преобразовать тип 'ORS.DTO.AdvertisementDTO []' до 'байт []'
F: \ Projects \ Online Recruitment System \ ORS.BLL \ AdvertisementHandler.cs 59 28 ORS.BLL
Вот мой AdvertisementDTO ...
namespace ORS.DTO
{
public class AdvertisementDTO
{
public int ID { get; set; }
public string AddNumber { get; set; }
public string Description { get; set; }
public byte[] DocImage { get; set; }
public string ContentType { get; set; }
public string DocName { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public int StatusID { get; set; }
public virtual RecordStatusDTO RecordStatus { get; set; }
}
}
Код для рекламыDTO теперь опубликован. – mason