您现在的位置:首页 >> 前端 >> 内容

文件上传的一些东西

时间:2016/12/10 13:41:00 点击:

  核心提示:最近招了两个前端,,都有两年的开发经验的了。进来就上手一个移动web的项目。在做图片上传的时候,就找了一大堆jquery的插件,这样的很不好呀。。其实移动端,完全可以自己很轻易搞掂文件上传,,Form...

最近招了两个前端,,都有两年的开发经验的了。进来就上手一个移动web的项目。在做图片上传的时候,就找了一大堆jquery的插件,这样的很不好呀。。其实移动端,完全可以自己很轻易搞掂文件上传,,FormData,,好东西,直接来东西

这是我自己封装的一个ajax,什么timeout,progress,,待完善

function xhr(url,success,data,method,async){
var options = options || {};
var method = method ? method.toLowerCase() : "get";
var url = url || "";
var success = success;
if(async === undefined || async === ""){
async = true;
}
var data = data || null;
var type = typeof data; //传入参数的类型
var sendData = "";
var isPost = !(data instanceof FormData) && method == "post"; //判断是否是纯文本post提交
if(data){
if(type == "string"){ //字符串
sendData = data;
}else if(type == "object"){
if(data instanceof FormData){
sendData = data;
}else{
for(var k in data){
var req = encodeURIComponent(k);
var value = data[k];
var param = "";
if(Array.isArray(value)){
value.forEach(function(v){
param += (req + "=" + encodeURIComponent(v));
param += "&";
})
param.trim("&");
}else{
param = req + "=" + encodeURIComponent(data[k]);
}
if(sendData === ""){
sendData += param;
}else{
sendData += ("&"+param);
}
}
}
}
}

工作完成了99%。文件如何上传呢。。

<form id='form''>

<input file='file'/>
</forn>

xhr("xxxxx.php",function(res){

},new FormData(document.querySelector('form')),"post");

 

作者:网络 来源:u014647150