You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用socketio-file-upload上传文件报错:SocketIOFileUpload未定义

解决SocketIOFileUpload未定义的错误

错误原因

Uncaught ReferenceError: SocketIOFileUpload is not defined 是因为客户端未正确引入socketio-file-upload的前端库,导致浏览器找不到该构造函数。

修复方案

1. 引入前端库文件

有两种方式可以引入:

  • CDN引入:在HTML文件的自定义脚本之前添加以下代码:

    <script src="https://cdn.jsdelivr.net/npm/socketio-file-upload@1.0.6/dist/socketio-file-upload.min.js"></script>
    

    版本号可根据需求调整,需与服务端安装的版本保持兼容。

  • 本地引入:
    先通过npm安装依赖:

    npm install socketio-file-upload
    

    找到node_modules/socketio-file-upload/dist/socketio-file-upload.min.js文件,复制到项目静态资源目录,再在HTML中引入:

    <script src="/静态资源目录路径/socketio-file-upload.min.js"></script>
    

2. 修正按钮绑定代码

原代码中按钮点击事件直接绑定uploader对象是错误的,需改为函数形式,示例:

document.getElementById("file_button").addEventListener("click", () => {
  // 触发文件选择框的点击,间接触发上传
  document.getElementById("fileUpload").click();
}, false);

3. 确认服务端配置

确保服务端已正确配置socketio-file-upload,示例代码:

const SocketIOFileUpload = require('socketio-file-upload');
const io = require('socket.io')(yourServer);

io.on('connection', (socket) => {
  const uploader = new SocketIOFileUpload();
  uploader.dir = './uploads'; // 设置文件保存目录
  uploader.listen(socket);
});

内容的提问来源于stack exchange,提问作者Komati Joshna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 20:42:11