博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
asp.net mvc实现简单的无刷新上传图片
阅读量:6769 次
发布时间:2019-06-26

本文共 1665 字,大约阅读时间需要 5 分钟。

步骤:

1,先引用脚本,ajaxfileupload.js和配套的jquery(注意:这里如果版本不同可能会出错

 

2,客户端部分代码:

<div class="jumbotron">
<h1>ASP.NET</h1>
<input type="file" name="image" id="image" style="width:350px;height:25px;" />
<img src="~/Content/Image/loading.gif" style="width:100px;height:100px; display:none;" />
<br />
<input type="submit" value="提交" οnclick="javascript:uploadimage()" />
<div id="showimage" style="display:none;">
<img id="imagebox" style="width:300px;height:300px;" />
</div>

</div>

3,客户端的脚本部分:

function uploadimage() {

$("#loading")
.ajaxStart(function () {
$(this).show();
})
.ajaxComplete(function () {
$(this).hide();
});

$.ajaxFileUpload({

type: 'post',
url: '/UpLoad/UploadImage',
secureuri: false,
fileElementId: 'image',
dataType: 'text/html',
success: function (data, textstatus) {
document.getElementById("showimage").style.display = "block";
$("#imagebox").attr("src", data);

},

error: function (data,status) {

alert("ERROR:"+data);

}

})

}

这里测试的时候将datatype设置为json格式的出错,返回的数据会自动加上<pre>标签,所以本文采用datatype:text/html数据类型。

4,处理控制器端的代码:

[HttpPost]
public ContentResult UploadImage(HttpPostedFileBase image)
{

image = HttpContext.Request.Files["image"];

if (image != null)
{
string upAddress = Server.MapPath("~/Content/Image/");
int rn = new Random().Next(0, 100000);
string finalUploadAddress = upAddress + rn.ToString() + System.IO.Path.GetFileName(image.FileName);
image.SaveAs(finalUploadAddress);
Response.ContentType = "text/html";
return Content( "/Content/Image/" + rn.ToString() + System.IO.Path.GetFileName(image.FileName),"text/html",System.Text.Encoding.UTF8 );

}

else
{
return Content("传入了空值" );
}

}

转载于:https://www.cnblogs.com/lichaojacobs/articles/3933392.html

你可能感兴趣的文章
Redis实战(6)数据类型四Sets
查看>>
Android Studio第八期 - 自定义布局无网有网状态
查看>>
Centos 6.4用源代码安装LAMP环境
查看>>
读《Go并发编程实战》第4章 流程控制方式
查看>>
Exchange Server2010系列之十五:Exchange磁盘压力测试
查看>>
IT168:数据库安全审计用户需求调查报告
查看>>
Exchange 2007 前端 IIS 内存占用过高
查看>>
利用Cocos2dx-3.0新物理特性模拟弹珠迷宫
查看>>
Lync Server 2010不同规模拓扑图详解
查看>>
QQ群排名优化:“小百度”大蓝海有搞头
查看>>
写在毕业季(四):是做IT?IT?还是IT呢?
查看>>
Gtk-WARNING **: 无法在模块路径中找到主题引擎:“pixmap”
查看>>
验证控件收藏
查看>>
安装配置Varnish3.0手记
查看>>
C#:根据年、月、日获取星期几
查看>>
舌尖上的职场(三)我来买单!
查看>>
Peter&#39;s Hobby
查看>>
HighChartS cpu利用率动态图(Java版)
查看>>
android 一题多改系列——android 打电话实现两种方法
查看>>
关于Serializable的serialVersionUID
查看>>