相关疑难解决方法(0)

使用ReadableStream作为请求主体获取

我试图用一个ReadableStream.在这个例子中,ReadableStream应该无限期地重复"Some data ...".

fetch('/', {
  method: 'POST', 
  body: new ReadableStream({
    pull: function(controller) {
      console.log('pull called!');
      controller.enqueue('Some data...');
    }
  })
});
Run Code Online (Sandbox Code Playgroud)

这不起作用.而pull被执行一次,没有数据被请求体中的发送.

POST / HTTP/1.1
Host: example.com
Connection: keep-alive
Content-Length: 0
Origin: https://example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36
Accept: */*
Referer: https://example.com/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.8
Run Code Online (Sandbox Code Playgroud)

如何使用fetch可用的ReadableStream(或任何我可以编写动态数据的流)?

或者,如果这还不可能,请您说明一下吗?谢谢.

注意:这是一个更具体的衍生问题: 通过HTTP将数据从浏览器传输到服务器的方法

stream fetch fetch-api whatwg-streams-api

15
推荐指数
1
解决办法
3330
查看次数

如何在服务器和客户端上实时读取和回显正在服务器上写入的上传文件的文件大小?

题:

如何在服务器和客户端上实时读取和回显正在服务器上写入的上传文件的文件大小?

语境:

文件上传的进展被写入从服务器POST请求通过由fetch(),其中body被设置为Blob,File,TypedArray,或ArrayBuffer对象.

当前实现将File对象设置为body传递给第二个参数的对象fetch().

需求:

读取echo并向客户端写入正在写入服务器文件系统的文件的文件大小text/event-stream.GET在写入作为查询字符串参数的脚本作为变量提供的所有字节时停止.文件的读取当前发生在一个单独的脚本环境中,其中GET应该读取文件的脚本调用是在POST将文件写入服务器的脚本之后进行的.

没有达到将文件写入服务器或读取文件以获取当前文件大小的潜在问题的错误处理,尽管这将是echo文件大小部分完成后的下一步.

目前正试图满足要求使用php.虽然也有兴趣在c,bash,nodejs,python,或其他可用于执行相同任务的语言或方法.

客户端javascript部分不是问题.简而言之,在php万维网上使用的最常见的服务器端语言之一,实现该模式而不包括不必要的部分.

动机:

获取进度指标?

有关:

使用ReadableStream获取

问题:

入门

PHP Notice:  Undefined index: HTTP_LAST_EVENT_ID in stream.php on line 7
Run Code Online (Sandbox Code Playgroud)

terminal.

另外,如果替代

while(file_exists($_GET["filename"]) 
  && filesize($_GET["filename"]) < …
Run Code Online (Sandbox Code Playgroud)

javascript php language-agnostic multithreading file-upload

10
推荐指数
1
解决办法
1217
查看次数