Epe*_*eli 11 javascript fetch-api whatwg-streams-api
注意:我不是在寻找任何替代方案.我知道这可以通过XMLHttpRequest来完成.我也不关心浏览器支持.我只想了解新的/即将推出的标准.
我有一个 File对象,我可以使用像这样的fetch上传它:
fetch(url, {
method: "PUT",
body: fileObject,
});
Run Code Online (Sandbox Code Playgroud)
如何从中获取上传进度?
据我所知body,fetch选项可以是ReadableStream.那么也许有一种方法可以将File对象包装到ReadableStream并从中获取进度状态?
例如.这样的事情
fetch(url, {
method: "PUT",
body: asReadableStream(fileObject, onProgress),
});
Run Code Online (Sandbox Code Playgroud)
谢谢.
正如Kyle所说,还不支持ReadableStream上传.https://github.com/whatwg/fetch/issues/95
即使在可能的情况下,我也不会尝试通过流来监控上传进度,(即如果FetchObserver成为一件事)现在没有人正在努力.但Mozilla提出的建议看起来像这样.
/*
enum FetchState {
// Pending states
"requesting", "responding",
// Final states
"aborted", "errored", "complete"
};
*/
fetch(url, {
observe(observer) {
observer.onresponseprogress = e => console.log(e);
observer.onrequestprogress = e => console.log(e);
observer.onstatechange = n => console.log(observer.state)
}
)
Run Code Online (Sandbox Code Playgroud)
我记得很久以前我用一些实验性标志对它进行了测试,但是再也找不到它了,猜测它们是从MDN中删除的,因为它有自己的实现/建议.
| 归档时间: |
|
| 查看次数: |
1788 次 |
| 最近记录: |