服务器环境CentOs7.4 php7
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类型的图片代码
if(xhr.readyState === 4){
blob=xhr.response;var oReq = newXMLHttpRequest();
oReq.open("POST", ‘http://xxx.eadaaen.com/c/ups232te‘, true);
oReq.οnlοad= function(oEvent) {var a = 1;
};var dataBlob = new Blob([blob], {type: ‘image/jpeg‘});var form = newFormData(),
request= newXMLHttpRequest();
form.append("blob", dataBlob);
form.append("imgUrl", imgUrl);
request.open("POST", ‘http://www.xxxxx.com/fff/uxxadate‘, true);
request.οnlοad= function(oEvent) {var adsdsdsds =oEvent.currentTarget.response;var dd = 2;
};
request.send(form);
暂时先写下保存,后面有时间整理
原文:https://www.cnblogs.com/yuzhould/p/13154533.html