websocket传输文件
时间: 2023-10-17 15:34:11 浏览: 50
你可以使用WebSocket来传输文件,以下是一个使用JavaScript实现的示例代码:
```javascript
// 创建WebSocket连接
var socket = new WebSocket('ws://localhost:8080');
// 当连接打开时触发
socket.onopen = function(event) {
console.log('WebSocket连接已打开');
};
// 当接收到消息时触发
socket.onmessage = function(event) {
var message = event.data;
// 处理接收到的消息
};
// 当连接关闭时触发
socket.onclose = function(event) {
console.log('WebSocket连接已关闭');
};
// 当连接发生错误时触发
socket.onerror = function(event) {
console.error('WebSocket发生错误');
};
// 选择文件并发送
var fileInput = document.getElementById('fileInput');
fileInput.addEventListener('change', function(event) {
var file = event.target.files[0];
// 读取文件内容
var reader = new FileReader();
reader.onload = function(event) {
var fileContent = event.target.result;
// 发送文件内容
socket.send(fileContent);
};
reader.readAsArrayBuffer(file);
});
```
此示例假设WebSocket服务器运行在本地主机的8080端口上。你需要将`ws://localhost:8080`替换为实际的WebSocket服务器地址。
在HTML中,你需要添加一个文件选择器(例如`<input type="file" id="fileInput">`),用户可以通过该选择器选择要发送的文件。然后使用`FileReader`来读取文件内容,并使用`WebSocket`对象的`send`方法发送文件内容。
请注意,此示例代码只演示了如何通过WebSocket发送文件内