gpt4 book ai didi

javascript - 从 WebRTC 发送文件后获取文件类型

转载 作者:行者123 更新时间:2023-12-03 10:16:08 27 4
gpt4 key购买 nike

我正在使用 WebRTC 让两个客户端使用peer.js 进行通信

var peer = new Peer(
{
key: "XXX",
config: {"XXX": [{ url: "XXXXXXX" }]}
});

我的主要目标是将文件从一个客户端发送到另一个客户端。为此,我使用以下代码:

$("#box").on("drop", function(e)
{
e.originalEvent.preventDefault();
var file = e.originalEvent.dataTransfer.files[0];
console.log(file);
connection.send(file);
});

在接收端我使用以下代码:

conn.on("data", function(data)
{
if (data.constructor === ArrayBuffer)
{
var dataView = new Uint8Array(data);
var dataBlob = new Blob([dataView]);
var reader = new window.FileReader();
reader.readAsText(dataBlob);

console.log(reader);
}
}

现在我的问题是我想获取文件类型,以便可以以正确的格式保存它。我正在使用 download.js 保存文件。

最佳答案

除非数据中嵌入了某些文件类型/提示(例如 ZIP、PDF),否则无法从原始数据中获取类型。您还应该创建自己的协议(protocol)来发送文件名。

我所做的是使用 channel 的协议(protocol)属性来设置带有扩展名的文件名来传输这些类型的元数据信息。

请注意,几周前 Chrome 还没有完全支持发送 blob(至少在我的一个示例应用程序中)。

关于javascript - 从 WebRTC 发送文件后获取文件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29867226/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com