【发布时间】:2019-10-25 12:31:12
【问题描述】:
尝试从浏览器上传 blob 数据,控制台中有输入和输出。我正在使用来自 (https://github.com/fengyuanchen/compressorjs) 的图像压缩器。
一切正常,但理解热点“捕捉”这个 blob 并发送到服务器的问题。
我试过了:
<form method="post" action="">
<input type="button" value="Проверить" onclick="myAjax()">
</form>
<script type="text/javascript">
var file = "outputURL"; // instance of File
function myAjax() {
$.ajax({
type: 'POST',
url: 'upload.php',
data: file,
contentType: 'application/my-binary-type', // set accordingly
processData: false
});
}
</script>
上传.php:
$fname = "11" . ".wav";
move_uploaded_file($_FILES['file']['tmp_name'], "/" . $fname);
这个想法是在 html 上有一些按钮,它将输出的压缩图像上传到服务器。 我还尝试了其他几个示例,但主要问题 - 我不了解如何处理 blob。
这是我的控制台输出:
Input: FilelastModified: 1548655773101lastModifiedDate: Mon Jan 28 2019 11:09:33 GMT+0500 {}name: "IMG_20160705_165257565.jpg"size: 3233327type: "image/jpeg"webkitRelativePath: ""__proto__: File
Output: BloblastModified: 1572005360479lastModifiedDate: Fri Oct 25 2019 17:09:20 GMT+0500 {}name: "IMG_20160705_165257565.jpg"size: 1625797type: "image/jpeg"__proto__: Blob
请帮助了解如何在浏览器中处理 blob 数据。
【问题讨论】:
-
FormData可以轻松处理 blob,使用appendmethod 您可以直接添加它们,然后您只需将 FormData 实例指定为您通过 AJAX 请求发送的data。跨度> -
有人可以根据我给出的细节举一个例子吗?对于建议 - 谢谢。会自学。
-
好的。我可以搭把手。您使用的是什么类型的服务器页面? PHP,ASP.net,如果你能提供一些细节,我可以帮你举个例子。
标签: javascript php ajax upload blob