应用在移动端网页的图片上传功能(纯手写)

文件上传触发

相应的JS(为了方便 用JQ写法):
//上传文件函数
function onChange(){
//获取上传的图片的相应数据
var formData=(“#upload”)[0].files[0];  
    //本地相对路径,用来判断格式  
     var value=
(“#upload”).val();
//限制文件类型
if (value == null||value == “”){ //如果路径错误
alert(“请选择要上传的图片!”);
return false;
}
if (value.lastIndexOf(‘.’)==-1){ //如果不存在”.”
alert(“路径不正确!”);
return false;
}
var AllImgExt=”.jpg|.jpeg|.gif|.bmp|.png|”; //限制图片的格式
var extName = value.substring(value.lastIndexOf(“.”)).toLowerCase();
if(AllImgExt.indexOf(extName+”|”)==-1){
$.toast(“文件类型出错”);
return false;
}
//图片AJAX上传 用原生的写法,兼容移动端
var form = new FormData();
form.append(“file”, formData);
var xhr = new XMLHttpRequest();
xhr.open(“post”, “url”, true);
xhr.onload = function (result){
var datas=eval(“(“+result.currentTarget.response+”)”);//这是返回结果为字符串,转出数组
//try catch为服务器传回乱码来预防错误
try{
if(datas.status==true){
}
else{
alert(“图片上传失败,请重试!”)
}
}catch (e){
}
}
xhr.send(form);//这个别漏了。。
}
最后需要说明下:现在这么写有个问题,就是第一次点击input,打开选择文件框,但是你点击取消的时候 onChange()事件不会触发,只有第一次选择图片上传之后后续的打开文件选择框,再点击取消也能触发onChange()事件。日后再完善!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值