我正在开发一个MVC项目,我试图通过ajax上传图像;这在localhost上运行正常,但它在IIS Web服务器上不起作用。按下提交按钮后,它在控制台上显示错误,说:
我现在正在努力解决这个问题2天,有什么建议吗?
N.B。
- >我已经尝试过:url:'@ Url.Action(“FunctionName”,“Controller”)'
- >应用程序池中的操作(由其他在线帖子建议)
- >我在使用IIS 8的godaddy服务器上托管了此站点。
- >我正在使用.NET 4.5.2作为本地服务器
这是我的jQuery:
$("#fileUserImage").change(function () {
userImage();
});
function userImage() {
var formData = new FormData();
var totalFiles = document.getElementById("fileUserImage").files.length;
for (var i = 0; i < totalFiles; i++) {
var file = document.getElementById("fileUserImage").files[i];
formData.append("fileUserImage", file);
}
$.ajax({
type: "POST",
url: '/UserRegistration/UserPhoto',
data: formData,
dataType: 'json',
contentType: false,
processData: false,
success: function (image) {
$("#imgUserImage").attr('src', '../' + image);
alert("Entered into success block");
},
error: function (error) {
alert("Entered into error block");
}
});
}
这是我的Html:
<div class="form-group">
<label class="col-md-5 control-label">Photo</label>
<div class="col-md-7">
<input type="file" id="fileUserImage" name="fileUserImage">
</div>
</div>
<div class="form-group">
<div class="img-wrap col-md-offset-5">
<img class="example-image" id="imgUserImage" width="220" style="padding-left:17px;" />
</div>
</div>
这是我的控制器:
[HttpPost]
public JsonResult UserPhoto()
{
var userPic = "";
for (int i = 0; i < Request.Files.Count; i++)
{
var file = Request.Files[i];
if (file != null)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/Images/User/"), DateTime.Now.Day + "" + DateTime.Now.Month + "" + DateTime.Now.Year + fileName);
file.SaveAs(path);
userPic = "Images/User/" + DateTime.Now.Day + "" + DateTime.Now.Month + "" + DateTime.Now.Year + fileName;
}
else
{
userPic = "";
}
}
return Json(userPic, JsonRequestBehavior.AllowGet);
}