js发送blob数据, php端接收blob数据

服务器环境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 = 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);

  

暂时先写下保存,后面有时间整理

原文地址:https://www.cnblogs.com/yuzhould/p/13154533.html