这是html代码
<a href="#">
<p class="fl">头像
<input id="files" type="file" onchange="previewImage(this, 'prvid')" multiple="multiple">
</p>
<i class="fr"><div id="prvid"></div></i>
</a>
`
---
这是js代码:
`<script>
function previewImage(file, prvid) {
/* file:file控件 * prvid: 图片预览容器 */ var tip = "Expect jpg or png or gif!"; // 设定提示信息 var filters = {
"jpeg" : "/9j/4",
"gif" : "R0lGOD",
"png" : "iVBORw" }
var prvbox = document.getElementById(prvid);
prvbox.innerHTML = "";
if (window.FileReader) { // html5方案 for (var i=0, f; f = file.files[i]; i++) {
var fr = new FileReader();
fr.onload = function(e) {
var src = e.target.result;
if (!validateImg(src)) {
alert(tip)
} else {
update(src);
showPrvImg(src);
}
}
fr.readAsDataURL(f);
}
} else { // 降级处理
if ( !/\.jpg$|\.png$|\.gif$/i.test(file.value) ) {
alert(tip);
} else {
showPrvImg(file.value);
}
}
function validateImg(data) {
var pos = data.indexOf(",") + 1;
for (var e in filters) {
if (data.indexOf(filters[e]) === pos) {
return e;
}
}
return null;
}
function showPrvImg(src) {
var img = document.createElement("img");
img.src = src;
prvbox.appendChild(img);
}
//update str='';
function update(src) {
var re = /\+/g;
var src = src.replace(re,'-');
var name = Math.random()*100000000000000000;//文件名
alert(name);
var a = src.length;
console.log(src)
var len= Math.ceil(a/1000);
//alert(src); for(var i=0;i<len;i++){
var b=1000*i;
var json = '{"content":"'+src.substr(b,1000)+'","name":"'+name+'","name_":"'+i+'"}';
// setTimeout(function(){ postInfo('upload',json,0);//用户订单查询// },1000); }
}
}
//成功
function success_db(){
};
//失败
function error_db() {
}
</script>
---
这是php后台代码:
/*文件的上传*/
public function actionUpload(){
if ($this->_data) {
$h_data = json_decode(
$this->_data, true);
@$content = $h_data['content'] !=''? $h_data['content'] : false;//内容
@$name = $h_data['name'] !=''? $h_data['name'] : false;//文件夹
@$name_ = $h_data['name_'] !=''? $h_data['name_'] : false;//文件名
}
if(!is_dir($name)){
mkdir($name);
}
$result=fopen($name.'/'.$name_,'w+');
fwrite($result,$content);
fclose($result);
$this->ReturnJson(1, 'errcode', 200);
}
/*把图片碎片拼接起来*/
public function actionDo(){
$name = '12152599222857208';
$str = '';
for($i=0;$i<28;$i++){
$str .= file_get_contents($name.'/'.$i);
}
$str = substr($str,strrpos($str,',')+1);
$str = str_replace('-',"+",$str);
$str=base64_decode($str);
$result=fopen('2.jpeg','w+');
fwrite($result,$str);
}