MVC图片上传详解
mvc图片上传--控制器方法
新建一个控制器命名为file,定义一个img方法
[httppost]
public actionresult img(httppostedfilebase shangchuan)
{
string path = @"\upload\" + datetime.now.tofiletime() + ".jpg";
session["path"] = path;
string save = server.mappath(path);
shangchuan.saveas(save);
return content(path);
}
mvc视图利用ajax.beginform表单提交,
@表单提交到控制器add添加方法@
@using (ajax.beginform("add", "show", null, new ajaxoptions { onsuccess = "success" }, new { id = "f1", enctype = "multipart/form-data" }))
{
<label for="name">商品图像</label>
<div>
<input type="file" name="shangchuan" />
<input type="button" value="点击上传" onclick="upload()" />
</div>
<div id="img" style="width:100px;height:100px"></div>
<script>
function upload() {
$(f1).ajaxsubmit(
{
url: "/file/img",
type: 'post',
success: function (a, b, c) {
$("#img").empty();
$("#img").append("<img src='" + a + "' style='width:100px;height:100px;'/>");
$("#productimg").val(a);
}
})
}
</script>
}
控制器中添加方法
[httppost]
[validateinput(false)]
public actionresult add(productrecordinfo m)
{
//通过session接收file控制器中img方法保存的图片上传地址
m.productimg = session["path"].tostring();
int i = new userbll().add(m);
return content(i.tostring());
}