zhanghuilong

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
ajax图片上传
var upload = document.getElementById('uploadForm'); //获取整个form表单的id;
var fb = new FormData(upload); //jquery发送FormData
//如果追加一个
fb.append('demo','this is a demo');
$.ajax({
url: "?r=weather/img",
type: "POST",
data: image,
dataType: 'json', //以jsonp类型返回
processData: false, //告诉jquery不要发送数据
contentType: false, //不要射中content-type
});
如果采用二进制流的形式上传图片
需要在相应的控制器中获取
$tmp_name = $_FILES['img']['tmp_name'];
然后采用
$path = file_get_contents($tmp_name); //获取临时文件的路径,并解析称为字符串的形式
//为了安全起见,对路径进行加密
$image = base64_encode($path);
 
在file_get_contens 和 base64_encode 之间 可能会丢失一些数据 ,
所以在base64_decode之前 要进行匹配 ,要不然会导致数据不正确
主要解决为 $path = str_replace (' ','+',$image);
 
//如果在另一个方法中使用,应
$image = base64_decode($path); 解密
另外,需要
file_put_contents('./123.png',$image); //放入到文件中,现在则是图片啦
 
//然后 根据自己的需要可以入库。。。。
posted on 2017-03-03 14:40  孤独的英雄  阅读(2960)  评论(0编辑  收藏  举报