javascript - javascript 可以访问以非 Ajax 形式上传的百分比吗?

标签 javascript file-upload

在我们的网站上,我们有一个表单,允许访问者将文件上传到另一台服务器上的不同站点。 (该网站随后会立即重定向回我们,因此这对用户来说是完全透明的。)

<form method="POST" id="online_show_upload" class="online_show_upload upload_video" enctype="multipart/form-data" action="https://example.com/upload">
<label id="uploadlabel" for="upload_file">Upload File</label>
<input type="file" name="file_data" id="upload_file">
<input type="submit" value="Upload Now">
</form>

显然,我们的服务器对上传进度一无所知,但用户的浏览器却知道。大多数浏览器会将其显示为页脚中的百分比。我们网站上的 javascript 是否可以通过任何方式访问该数据,以便我们可以为大文件上传显示一个漂亮的进度条?

不是 ajax 表单,尝试搜索任何与文件上传和 javascript 相关的内容都没有返回有用的结果,因为它显示的所有内容都是关于 ajax 的。

最佳答案

如前所述here , 你可以使用 <iframe>作为您的表单目标并阅读该 <iframe> 的内容在它的 onload 处理程序中。这样您就可以尝试在提交时启动进度条并在提交响应时停止。

这在没有 AJAX 的情况下是可能的,但是,正如那里的评论之一所提到的,提交操作需要在与 iframe 相同的站点上,否则同源策略将阻止它。

对于您的特定场景,没有 AJAX 是不可能的。

关于javascript - javascript 可以访问以非 Ajax 形式上传的百分比吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62091019/

相关文章:

javascript - 嵌入式Youtube视频在Firefox上不起作用

javascript - 状态正在使用 setState 中的 [object Object] 进行初始化

javascript - 我可以在定义后添加到 javascript 对象吗?

javascript - 将对象从 JavaScript 传递到 Web API 时出现问题

javascript - jQuery-File-Upload 插件在没有 Flash 或 Silverlight 的情况下如何工作?

php - 在使用 PHP 上传图像之前检查图像尺寸(高度和宽度)

php - 无法使用来自 IOS 设备的 PHP 脚本将音频文​​件上传到服务器

javascript - Dynamic Highcharts 未更新

python - 如何直接从您自己的云端硬盘将 .txt(或其他文件类型)导入 Google Colab 笔记本?

javascript - 如何在 Leaflet map 上正确绘制多边形(纬度/经度顶点和旋转)?