利用jQuery的ajax函数就可以实现异步上传图片了。一开始我是想在处理程序中,直接用context.Request.Files来获取页面中的input file,但是不知道为什么一次获取不了。网上说的,Form中要设置enctype="multipart/form-data"和 method="post",input file中要加runat="server",但都加了依然获取不到。哪位大侠知道的,求指教啊。

既然后台获取不到Input file怎么办呢。其实我们上传文件,主要是获取到文件的物理地址就行了。只要有了这个文件地址就可以用bitmap获取到这个图片了。

刚开始我是想用ajax GET来传送地址,但TMD如果文件名有中文就乱码了。好在后面改成POST后就可以成功传送了。

话不多说,上代码:

前台:

function uploadImage() {

//判断是否有选择上传文件

var imgPath = $("#uploadFile").val();

if (imgPath == "") {

alert("请选择上传图片!");

return;

}

//判断上传文件的后缀名

var strExtension = imgPath.substr(imgPath.lastIndexOf('.') + 1);

if (strExtension != 'jpg' && strExtension != 'gif'

&& strExtension != 'png' && strExtension != 'bmp') {

alert("请选择图片文件");

return;

}

$.ajax({

type: "POST",

url: "handler/UploadImageHandler.ashx",

data: { imgPath: $("#uploadFile").val() },

cache: false,

success: function(data) {

alert("上传成功");

$("#imgDiv").empty();

$("#imgDiv").html(data);

$("#imgDiv").show();

},

error: function(XMLHttpRequest, textStatus, errorThrown) {

alert("上传失败,请检查网络后重试");

}

});

}

后台中的ashx:

public void ProcessRequest (HttpContext context) {

//不知道为什么获取不到

//HttpPostedFile file = context.Request.Files["userFile"];

string filePath = context.Request["imgPath"];

string path = "UploadImgs\\";

Bitmap map = new Bitmap(filePath);

string fileName = Path.GetFileName(filePath);

string mapPath = context.Server.MapPath("~");

string savePath = mapPath + "\\" + path + fileName;

map.Save(savePath);

//上传成功后显示IMG文件

StringBuilder sb = new StringBuilder();

sb.Append("");

context.Response.Write(sb.ToString());

context.Response.End();

}

public bool IsReusable {

get {

return false;

}

}

使用Ajax以及Jquery.form异步上传图片

一.前言 之前做图片上传一直用的第三方插件,Uploadify  这个应该是用的比較多的,相同也用过别的,在方便了自己的同一时候也非常赞叹人家的功能. 思来想去,仅仅会用别的人东西,始终自己学到的少, ...

异步上传图片,光用jquery不行,得用jquery.form.js插件

异步上传图片,光用jquery不行,得用jquery.form.js插件,百度一下下载这个插件,加jquery,引入就可以了

C# 异步上传图片案例

好久没写博客了,都感觉自己快堕落了!今天随性写一篇关于异步上传图片的程序及插件! 说是程序及插件,其实程序占大头,所谓的插件只是两个JS.分别为:jquery.html5upload.js 和 jqu ...

使用Ajax异步上传图片的方法(html,javascript,php)

前两天项目中需要用到异步上传图片和显示上传进度的功能,于是找了很多外国的文章,翻山越岭地去遇上各种坑,这里写篇文章记录一下. HTML

MVC异步上传图片到本地/服务器

这两天朋友问我,有没有异步上传图片到本地/服务器这种demo,他有用, 我就想,好吧, 那刚好周末了,整理一套出来. 主要用到的是jquery uploadify 这个juqery的插件 ,可以无刷新 ...

[Ajax] 使用Ajax异步上传图片文件(非Form表单提交)

通过表单Form提交来上传文件的方式这里就不说了: 下面介绍,通过js中使用ajax异步上传图片文件: 新建一个html页面和一个一般处理程序即可: 涉及思路: //发送2次Ajax请求完成js异步上 ...

随机推荐

#数据技术选型#即席查询Shib+Presto,集群任务调度HUE+Oozie

郑昀 创建于2014/10/30 最后更新于2014/10/31   一)选型:Shib+Presto 应用场景:即席查询(Ad-hoc Query) 1.1.即席查询的目标 使用者是产品/运营/销售 ...

Sea.js创始人玉伯的前端开发之路

在Web应用程序的用户体验越来越被重视的今天,前端开发的地位也上升到了前所未有的高度,而随之而来的也有更多的挑战. 为了将前端开发者繁重的工作变得简单,框架应运而生.国内也不乏一些非常优秀的前端开发框 ...

HDU 5510 Bazinga 暴力匹配加剪枝

Bazinga Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5510 ...

最全ajax函数

function ajax(method, url, data, success) { var xhr = null; try { xhr = new XMLHttpRequest(); } catc ...

springboot 入门三- 读取配置信息二(读取属性文件方式)

在上篇文章中简单介绍自带读取方式.springboot提供多种方式来读取 一.@ConfigurationProperties(value="my") 支持更灵活的绑定及元数据的支 ...

Centos7网络配置-转载

一. 查看网络地址: centos7取消了ifconfig命令,使用ip addr命令查看IP地址 二.配置网络 用VirtualBox安装的CentOS7,安装完成后,发现无法上网,于是到网上查了一 ...

Spring boot项目maven的profile多环境配置不自动替换变量的问题解决

Spring boot项目maven的profile多环境配置不自动替换变量的问题解决   在网上找了好久,配置都很简单,可是我的程序就是不能自动替换变量,最终单独测试,发现原来是引用spring b ...

Yii框架的增删改查总结分析

一.查询数据 1.findAll(根据一个条件查询一个集合) $admin=Admin::model()->findAll($condition,$params); $admin=Admin:: ...

19 模块之shelve xml haslib configparser

shelve 什么是shelve模块 也是一种序列化方式使用方法 1.opne 2.读写 3.close特点:使用方法比较简单 提供一个文件名字就可以开始读写 读写的方法和字典一致 你可以把它当成带有 ...

php jq异步上传图片,Jquery实现异步上传图片相关推荐

  1. jquery ajax异步和同步从后天取值

    最近使用jquery的ajax,发现有些效果不对,ajax请求后返回的json串回来了,但是执行顺序有问题. var isReload = false;$.post('/home/DetectCach ...

  2. [转载]WebForm下使用 jQuery.loadUserControl异步load用户控件

    现在做网站都追求用户体验,那么ajax自然就必不可少.如果您用过Asp.Net MVC ,你会发现Asp.Net MVC 和jQuery 配合的非常默契(事实上jQuery已经成了微软的御用脚本库了) ...

  3. ajax拿table里的th值,Jquery Ajax 异步设置Table中某列的值

    可根据table中某列中的ID去改变某列的值! 只是参考,实际应用中不能这样做的,如果有很多行,频繁访问服务器,服务器是顶不住的! JS: $(document).ready(function () ...

  4. 4.3.2 用jQuery进行异步加载(2)

    4.3.2 用jQuery进行异步加载(2) 2008-09-28 16:09 (英)格雷恩(Granc,D.)等著/贺师俊等译 人民邮电出版社 我要评论(5) 字号:T | T 综合评级: 想读(1 ...

  5. 4.3.2 用jQuery进行异步加载(1)

    4.3.2 用jQuery进行异步加载(1) 2008-09-28 16:09 (英)格雷恩(Granc,D.)等著/贺师俊等译 人民邮电出版社 我要评论(0) 字号:T | T 综合评级: 想读(1 ...

  6. php上传图片大小判断,jQuery实现判断上传图片类型和大小的方法示例

    本文实例讲述了jQuery实现判断上传图片类型和大小的方法.分享给大家供大家参考,具体如下: 这里使用jQuery判断上传图片的类型和大小: 图片格式为: 图片大小为: $(function(){ v ...

  7. mvc php 分页,MVC+jQuery.Ajax异步实现增删改查和分页_jquery

    本文实例为大家分享了MVC+jQuery.Ajax异步实现增删改查和分页的具体代码,供大家参考,具体内容如下 1.Model层代码 using System; using System.Data; u ...

  8. struts2+Jquery+Json异步提交(传递复杂JSON对象)

    ​    最近,在使用Struts2+Jquery实现异步提交传递复杂JSON对象时候,遇到了各种问题,经过各方的不懈努力,最终找到了解决方案,记录下以备忘.     基础知识       JSON建 ...

  9. 移动端h5实现手机拍照上传图片,相册选择上传图片input type=file

    移动端h5实现手机拍照上传图片,相册选择上传图片input type=file 有不足或者不对的在下方留言,有不明白的也请在下方留言,虽然我不一定能看到,话不多说上代码,注释都写好了 <!doc ...

最新文章

  1. ce变速注入dll失败_[LAB]一种无痕Dll模块注入方式
  2. requestAnimationFrame,Web中写动画的另一种选择
  3. Nat. Mach. Intel. | 突变后蛋白蛋白结合力的拓扑网络树预测模型
  4. 北斗产业发展现状与前景预测研究
  5. mysql vim_MySQL的安装配置
  6. 计算机控制系统第三次作业,计算机组成与系统结构第三次作业
  7. Linux汇编语法开发
  8. opencv 读写XML YML
  9. flash java 6,为Flash构建 Java WebService
  10. Qt容器类(总结)(新发现的QQueue和QStack,注意全都是泛型)
  11. C# DataTable的Distinct解决方案及表的复制
  12. System.Security.Cryptography.RSA.FromXmlString 系统找不到指定的文件和X509读取证书文件系统找不到指定的文件异常
  13. Go搭建REPL环境
  14. 43 RBF神经网络
  15. 中小企业信息网络安全解决方案
  16. 关系代数 元组关系演算
  17. 如何下载太原市卫星地图高清版大图
  18. 关于印发南山区引进高层次医学团队管理办法的通知
  19. 12.3.5 子线程创建UdpSocket实例
  20. 亮度、对比度、直方图均衡化

热门文章

  1. 【字符串操作之】返回指定长度的字符串→→substr方法
  2. SharePoint中的富文本编辑器控件
  3. 序列化 - 实现ISerializable
  4. 图像处理中的傅里叶变换和频率域滤波概念
  5. Python—实训day3—简单的在线翻译程序
  6. IOS之Masonry约束的使用
  7. python 字符串替换_Python基础教程,第四讲,字符串详解
  8. win10远程桌面连接ubuntu18.04
  9. VC++编程实现多显示器控制(复制、横屏、纵屏,显示器个数)
  10. rtthread 串口dma接收_RT-Thread 串口DMA使用笔记--STM32F207