将数据 blob(例如使用 HTML5 API 录制的音频或视频数据)上传到服务器是 Web 应用程序中的一项常见任务。本文演示如何使用 JavaScript,特别是 jQuery,将 blob 上传到服务器。
提供的代码片段中使用的 jQuery post() 方法,不适合上传 blob 等二进制数据。相反,建议使用 FormData API 用于此目的。
要使用 FormData,请创建一个新的 FormData 对象并向其附加必要的数据。在提供的示例中,将文件名和 blob 数据附加到 FormData 对象:
<code class="javascript">var fd = new FormData(); fd.append('fname', 'test.wav'); fd.append('data', soundBlob);</code>
接下来,使用 jQuery 的 $.ajax() 方法发送FormData 对象作为多部分/表单数据请求。指定请求类型、URL 和数据,并将 processData 和 contentType 设置为 false:
<code class="javascript">$.ajax({ type: 'POST', url: '/upload.php', data: fd, processData: false, contentType: false }).done(function(data) { console.log(data); });</code>
此代码将 blob 数据连同文件名发送到位于 /upload.php 的服务器端 PHP 脚本,并记录响应。
以上是如何使用 jQuery 将 Blob 上传到服务器?的详细内容。更多信息请关注PHP中文网其他相关文章!