Javascript Web Streams和Node.js流API之间的区别
我正在构建一个文件上传应用程序来熟悉流的概念。我正在尝试将文件列表或blob转换为流,然后将其上载到后端并存储在文件系统中 我对前端和后端的实现没有异议,但我很难将两者连接起来。我的主要问题是我不理解和之间的区别。我成功地将浏览器中选定输入文件的blob转换为WebJavascript Web Streams和Node.js流API之间的区别,javascript,node.js,typescript,browser,stream,Javascript,Node.js,Typescript,Browser,Stream,我正在构建一个文件上传应用程序来熟悉流的概念。我正在尝试将文件列表或blob转换为流,然后将其上载到后端并存储在文件系统中 我对前端和后端的实现没有异议,但我很难将两者连接起来。我的主要问题是我不理解和之间的区别。我成功地将浏览器中选定输入文件的blob转换为WebReadableStream,但我尝试的包(axios用于请求,socket.io和socket.io流用于WebSocket)只接受Node.js版本流作为参数。我也无法将Web ReadableStream通过管道传输到Node.
ReadableStream
,但我尝试的包(axios
用于请求,socket.io
和socket.io流
用于WebSocket)只接受Node.js版本流作为参数。我也无法将Web ReadableStream通过管道传输到Node.js可写或双工流中。方法名称也不同(例如:Web API中的pipeTo
或pipeThrough
和Node.js API中的pipe
)
我知道Node.js和浏览器在实现上存在差异,但我天真地认为API应该是相似的。我是否可以在Web流和browserified Node.js流之间进行简单的转换,但我遗漏了一些东西?是否值得在上面使用Web流API?这需要一些示例代码。我不知道OP的困惑是在前端还是后端。您不能在browserland中使用节点流,因此我假设browserland库不需要节点流。在后端,您只处理节点流:甚至使用browserland流传输到服务器的数据也会在服务器端显示为节点流。如果没有一些代码,很难想象在所有的创作中,OP的问题会存在于何处。