服務器環境CentOs7.4 php7php
print_r($_FILES)
blob結構以下
Array
(
[blob] => Array
(
[name] => blob
[type] => image/jpeg
[tmp_name] => /tmp/phpu37qnN
[error] => 0
[size] => 1175745
)
)
很納悶這個結構爲何沒有圖片數據流,只有圖片的信息
悶了幾個小時胡亂操做,忽然靈光一閃 /[tmp_name] => /tmp/phpu37qnN 會不會是保存圖片的臨時文件,在服務器上cd到tmp目錄,並無這個文件,
硬着頭皮
$content = file_get_contents($_FILES['blob']['tmp_name']);
file_put_contents('/xxx/data/rr/test.jpg', $content);
我去圖片居然寫入了,哈哈,果真存在這裏,cd這個目錄沒有估計兩種狀況,一種是跑完php立刻刪除了,一種是文件隱藏了,這點沒有深究。服務器
js端發送blob類型的圖片代碼php7
if(xhr.readyState === 4){ blob = xhr.response; var oReq = new XMLHttpRequest(); oReq.open("POST", 'http://xxx.eadaaen.com/c/ups232te', true); oReq.onload = function (oEvent) { var a = 1; }; var dataBlob = new Blob([blob], {type: 'image/jpeg'}); var form = new FormData(), request = new XMLHttpRequest(); form.append("blob", dataBlob); form.append("imgUrl", imgUrl); request.open("POST", 'http://www.xxxxx.com/fff/uxxadate', true); request.onload = function (oEvent) { var adsdsdsds = oEvent.currentTarget.response; var dd = 2; }; request.send(form);
暫時先寫下保存,後面有時間整理app