Tôi mới đến mvc và tôi đang mắc kẹt với một vấn đề. Tôi đã tìm kiếm tất cả các câu trả lời và tôi không thể tìm thấy câu trả lời, nhưng tôi chắc chắn rằng có thứ gì đó đã bỏ qua tôi. Vấn đề là tôi không biết làm thế nào để acces một tập tin sau khi tôi tải nó lên thư mục App_Data. Tôi sử dụng mã tương tự mà tôi tìm thấy trên tất cả các diễn đàn:Cách xem tệp sau khi tải tệp lên App_Data/Tải lên trong MVC 3 bằng Razor?
Đối với quan điểm của tôi tôi sử dụng này
@using (Html.BeginForm("Index", "Home", FormMethod.Post,
new { enctype="multipart/form-data" }))
{
<input type="file" name="file" />
<input type="submit" value="submit" />
}
Đối với bộ điều khiển của tôi, tôi sử dụng
public class HomeController : Controller
{
// This action renders the form
public ActionResult Index()
{
return View();
}
// This action handles the form POST and the upload
[HttpPost]
public ActionResult Index(HttpPostedFileBase file)
{
// Verify that the user selected a file
if (file != null && file.ContentLength > 0)
{
// extract only the fielname
var fileName = Path.GetFileName(file.FileName);
// store the file inside ~/App_Data/uploads folder
var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
file.SaveAs(path);
}
// redirect back to the index action to show the form once again
return RedirectToAction("Index");
}
}
Mô hình của tôi đây là
public class FileDescription
{
public int FileDescriptionId { get; set; }
public string Name { get; set; }
public string WebPath { get; set; }
public long Size { get; set; }
public DateTime DateCreated { get; set; }
}
Điều là tôi muốn tải tệp lên cơ sở dữ liệu và sau đó WebPath là liên kết đến tệp của tôi. Tôi hy vọng tôi đã làm cho bản thân mình đủ rõ ràng. Bất kỳ trợ giúp sẽ thực sự được đánh giá cao. Cảm ơn
Tôi muốn cơ sở dữ liệu của tôi để có chỉ đường dẫn đến tập tin, không phải là tập tin đó. – Robert
Bạn có thể xác định ý nghĩa của từ "xem tệp" không, bạn có muốn hiển thị nó dưới dạng liên kết hay bạn muốn hiển thị nội dung thực tế của tệp không? –