实现图片上传(ajax传输图片)
实现图片上传(ajax传输图片),本文通过数据整理汇集了实现图片上传(ajax传输图片)相关信息,下面一起看看。
使用场景如下:上传图片时,开发者使用的图片上传方式由Iframe # 传统的http post。并且没有建立统一的上传功能。
所以我心血来潮改了代码。我想用ajax异步上传图片。这个技术应该很老套了。于是我直接打开了功能强大的cnblogs(博客花园),轻松找到了这篇文章,直接跟着葫芦画瓢,直接 接受了教义 作者的劳动成果。代码很快就被完全转换了。但是当我把程序发布到网站上时,问题就来了。上传文件无效!流汗是懒惰的结果。继续打开之前引用的文章。原来作者解释说只能在本地使用,不能发布到服务器。我想,我还用iframe http post这种压抑的方式吗?
于是不甘心,我打开了更强大的google,开始了全球寻找解决方案,终于一切都有了回报。我发现 jquery . form . js ;
异步上传图片的步骤如下:
1.先引用jquery js框架(这个东西的好处不用讨论)再引用 jquery . form . js ;
2.建立通用加工程序ashx。
核心代码如下:
html:
复制代码如下:
$(function () {
//上传图片
$(#btnUpload )。单击(函数(){
if ($(#flUpload )。val()==) {
警报( 请选择一个图像文件,然后单击上传。);
返回;
}
$(#UpLoadForm )。ajaxSubmit({
成功:函数(html,状态){
var result=html.replace( );
result=result.replace( );
$(#image )。attr(src 结果);
警报(结果);
}
});
});
});
Ashx如下:
复制代码如下:
命名空间TestMvc。效用
{
///
PicUploadHander的摘要说明
///
公共类PicUploadHander : IHttpHandler
{
公共void ProcessRequest(HttpContext上下文)
{
语境。response . content type= text/plain
//验证上传权限,TODO
string _ fileNamePath=
尝试
{
_ fileNamePath=上下文。请求. Files[0]。文件名;
//开始上传
string _ saved file result=upload image(_ filename path,context);
语境。response . Write(_ saved file result);
}
捕捉
{
语境。回复。写( 上传和提交时出错 );
}
}
注意:整个上传使用ajax异步数据,jquery在上传成功后回调图片在服务器上的相对路径。总的来说,这种方式比传统的上传图片的方式要好。
更多实现图片上传(ajax传输图片)相关信息请关注本站。