后来看到有用html5异步上传,感觉不错.自己动手整了一个ThinkPHP+uploadify+html5 异步上传图片:
<div class="form-group"> <label for=''>Html5 上传</label> <button class="btn btn-primary" id="selsect">选择文件</button> <input type="file" id="fileselect" class="form-control" name="fileselect[]" multiple="multiple"/> </div>
js代码
//选择文件 $('#fileselect').change(function(event) { <span style="white-space:pre"> </span>event.preventDefault(); <span style="white-space:pre"> </span>var n=event.target.files.length; <span style="white-space:pre"> </span>var file; <span style="white-space:pre"> </span>for (var i = 0; i < n; i++) { file=event.target.files[i]; html5up(file); }; }); //上传操作 function html5up(file){ <span style="white-space:pre"> </span>/* Act on the event */ var form_data=new FormData(); form_data.append('timestamp',"{$time}"); form_data.append('token','{:md5("unique_salt".$time)}'); form_data.append("Filedata",file); $.ajax({ <span style="white-space:pre"> </span>url: '{:U("Index/upload",null,false)}',type: 'POST',// dataType: 'default: Intelligent Guess (Other values: xml,json,script,or html)',processData: false,contentType: false,data: form_data,}) .done(function(data) { // alert(data); if (!data.status) { alert(data.info); return false; }; put_img(data.savepath,data.savename);//添加图片到img_Box console.log("success"); });
}
非常关键的是:
processData: false,
这两个一定要设置不然jquery会自动处理form_data,然后格式不对会报错就执行不下去了