مشكلة تحميل الملف MVC - مرجع التجميع
-
27-09-2019 - |
سؤال
أحاول تجميع صفحة حيث يمكن للمستخدم تحميل ملف ، ويذهب إلى قاعدة بيانات.
أنا أتابع برنامج تعليمي ، ويبدو أن طريقة وحدة التحكم الخاصة بي حتى الآن:
public ActionResult Index()
{
ViewData["Message"] = "File Upload";
foreach (string upload in Request.Files)
{
if (!Request.Files[upload].HasFile()) continue;
string path = AppDomain.CurrentDomain.BaseDirectory + "uploads/";
string filename = Path.GetFileName(Request.Files[upload].FileName);
Request.Files[upload].SaveAs(Path.Combine(path, filename));
}
return View();
}
فيما يلي أيضًا مثال على شكل وجهة نظري:
<p>
<% using (Html.BeginForm("", "home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{ %>
<input type="file" name="FileUpload1" /><br />
<input type="submit" name="Submit" id="Submit" value="Upload" />
<% } %>
</p>
أحصل حاليًا على خطأين في التجميع:
- "system.web.htpostedfilebase" لا يحتوي على تعريف لـ "hasfile" ولا يمكن العثور على أي طريقة تمديد "hasfile" قبول الوسيطة الأولى من النوع ". ؟)
- اسم "مسار" غير موجود في السياق الحالي
فيما يلي أيضًا مثال على ما أستخدمه لمساحات الأسماء في وحدة التحكم:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.UI.WebControls;
سأكون ممتنًا جدًا إذا تمكن أي شخص من توجيهني في الاتجاه الصحيح لإصلاح هذا الخطأ.
المحلول
أعتقد أنني وجدت الدورة التعليمية كنت تتابع؟
إذا كان الأمر كذلك - تحقق من الجزء الذي كتب فيه المؤلف طريقة تمديد مخصصة لطريقة HasFile (). إنه ليس جزءًا من الإطار ، لذلك ستحتاج إلى إنشاء ذلك أيضًا.
المسألة الثانية هي أن المسار جزء من مساحة اسم System.io ، لذلك ستحتاج إلى إضافة ذلك أيضًا.
لا تنتمي إلى StackOverflow