在部署后,MVC3应用中的上传图像控制器无法正常工作

时间:2012-04-22 02:56:54

标签: asp.net asp.net-mvc-3

标题类型说明了一切。当我在localhost中运行它时一切正常,今天我部署了运行一些测试和BAM!不工作我出于某种原因无法启用错误显示所以我不确定是什么问题,或者真的如何调试这个..

这是控制器:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using DarkRobot.Models;
using System.Web.Helpers;
using System.IO;

namespace DarkRobot.Controllers
{
[Authorize]
public class UploadController : Controller
{
    //
    // GET: /Upload/
    private DarkRobotEntities1 db = new DarkRobotEntities1();


    public ActionResult Index()
    {
        return View();
    }
    [HttpPost]
    public ActionResult Index(HttpPostedFileBase file, string name)
    {
        if (file != null && file.ContentLength > 0)
        {
            var fileName = Path.GetFileName(file.FileName);
            var path = Path.Combine(Server.MapPath("/Images"), fileName);
            file.SaveAs(path);

            Image image = new Image();
            image.RelativeLocation = "/Images/" + file.FileName;
            image.Title = name;
            db.Images.Add(image);
            db.SaveChanges();

        }
        return RedirectToAction("Confirm");
    }

    public ActionResult Confirm()
    {
        return View();
    }
}
}

这是索引

@using (Html.BeginForm("Index", "Upload", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" name="file" />
<br />
<input type="text" name="name" />
<br />
<input type="submit" value="OK" />
}

如果还有什么需要尝试解决这个问题,我很乐意更新问题。我对MVC很新。

2 个答案:

答案 0 :(得分:0)

如果相同的代码适用于您的开发,我强烈认为这是一个权限问题。确保您尝试上传到的目录具有足够的权限将文件写入该目录。

答案 1 :(得分:0)

你还没有发布错误,你得到了什么样的错误。但如果它在本地工作,则服务器上唯一的遗留是文件夹权限。你应该有足够的许可