MVC使用jQuery上传图片。

szjarvis 2013-05-09 10:47:34
View代码:
@using (Html.BeginForm("saveEdit", "AdminUser", FormMethod.Post, new { id = "frm1" }))
{
...
<input type="file" id="user_face" name="user_face" />
<input type="button" value="上传" onclick="upLoadImg()" />
...

<input type="submit" value="保 存" />
}

jQuery:
function upLoadImg()
{
$.ajax({
type:"post",
url:"@Url.Action("UpLoadImage", "AdminUser")",
data:{ imgPath:$("#user_face").val() },
mimeType:"multipart/form-data",
processData:false,
dataType: 'json',
success: function (result) {
if (result != null) {
alert("上传成功!");
}
else {
alert("上传失败~~");
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.responseText); ;
}
});
}

Controller:
public JsonResult UpLoadImage()
{
if (Request.Files.Count == 0) //这里始终是0,不知道为什么获取不到
{
Response.Write("上传文件失败,文件不存在!");
return null;
}

HttpFileCollectionBase files = Request.Files;
Stream fs = files[0].InputStream;
...
}


说明:
因表单还有用户其它数据要提交,头像是点上传按钮后就上传的,所以不能用form的submit提交,我是用了jQuery进行上传处理的。

UpLoadImage控制器始终取不到传来的文件,我也是参考网上的,不知道哪里有问题,大虾们帮忙看看。
谢谢。
...全文
283 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tl110110tl 2014-05-13
  • 打赏
  • 举报
回复
使劲顶,同问
  • 打赏
  • 举报
回复
如果你不能submit那么这个问题就是死路,那么还是考虑silverlight或者flash吧。就算使用iframe也是要submit。
H_Gragon 2013-05-10
  • 打赏
  • 举报
回复
帮顶!
newtee 2013-05-10
  • 打赏
  • 举报
回复
看错
newtee 2013-05-10
  • 打赏
  • 举报
回复
form属性里加上enctype="multipart/form-data"就可以了
moonwrite 2013-05-09
  • 打赏
  • 举报
回复
别人都是用flash来上传的~
moonwrite 2013-05-09
  • 打赏
  • 举报
回复
在我的观念中 ajax是不能提交btye类型的~

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧