asp.net-mvc - 在asp net mvc中简单的图像上传

标签 asp.net-mvc file-upload upload

我正在构建一个简单的学校门户,我一直坚持将图像上传到我的应用程序中,即用户应该将学校图像上传到我的服务器,我的图像目录为./Content/Images - 所有上传图像应该上传到这个目录。我有以下代码


input type="file" id="SchoolImageUrl" name="SchoolImageUrl" class="required"    

使用这个浏览按钮,我不知道如何将该图像上传到服务器以及我的 Action Controller 如何?我有以下用于创建学校的 Controller


public ActionResult SchoolCreate(_ASI_School schoolToCreate, FormCollection collection)
        {
            if (!ModelState.IsValid)
                return View();
            try
            {
                // TODO: Add insert logic here
                schoolToCreate.SchoolId = Guid.NewGuid().ToString();
                schoolToCreate.UserId = new Guid(Request.Form["currentUser"]);
                schoolToCreate.SchoolAddedBy = User.Identity.Name;
                HttpPostedFileBase file = Request.Files["SchoolImageUrl"];
                file.SaveAs(file.FileName);
                //schoolToCreate.SchoolImageUrl = Reuseable.ImageUpload(Request.Files["SchoolImageUrl"], Server.MapPath("../Content"));
                //schoolToCreate.SchoolImageUrl = Path.GetFullPath(Request.Files[0].FileName);
                schoolToCreate.SchoolImageUrl = collection["SchoolImageUrl"];

                UpdateModel(schoolToCreate);
                _schoolRepository.CreateSchool(schoolToCreate);
                //_schoolRepository.SaveToDb();

                return RedirectToAction("DepartmentCreate", "Department", new { userId = schoolToCreate.UserId, schoolId = schoolToCreate.SchoolId });
            }
            catch
            {
                return View("CreationFailed");
            }
        }

这里出现对象引用错误

最佳答案

您的 Html.BeginForm 是否包含以下内容:

new { enctype = "multipart/form-data" }

否则文件数据将不会在 POST 请求中发送。

关于asp.net-mvc - 在asp net mvc中简单的图像上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2891522/

相关文章:

c# - HttpClient 通过 PostAsync 上传文件的奇怪行为

api - 使用标签、描述、缩略图批量上传到 Vimeo

android - React Native博览会上传:ios issue

asp.net-mvc - MVC 更新模型复杂类型

c# - 最大上传长度

c# - 继承和强类型 View

php - 使用带有ajax和formdata的codeigniter上传图像

c# - asp.net updatePanel PostBackTrigger 触发全回发

asp.net-mvc - 身份验证处理后,Chrome 不会重定向回 URL

.NET MVC2 相当于 'rake routes'