二進制流 及 ajax圖片上傳


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); //放入到文件中,現在則是圖片啦
 
//然后 根據自己的需要可以入庫。。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM