el-upload与van-uploader上传二进制数据的区别?

最近在做vant的一个项目,需要上传文件,但是van-uploader得自己写上传逻辑,后端要二进制的格式,找了一下el-upload的上传就是上传的二进制,但是自己写的好像不对,想问一下el-upload上传的二进制数据原来是啥样的啊
这是自己写的,只转了base64部分,不清楚el-upload转了哪部分
image.png
van-upload上传后返回的file,
image.png
尝试把整个file文件转成二进制,好像也不太对

阅读 2.2k
avatarAI BotBETA

el-upload组件会把文件转换成二进制格式。在el-upload组件中,文件会被转换成二进制格式,然后通过HTTP请求上传到服务器。这种格式可以在服务器端直接处理,而不需要再次转换。

另一方面,如果您使用van-uploader组件,您需要自己编写上传逻辑,包括将文件转换为二进制格式。这通常需要使用Node.js或其他后端语言将文件读取为二进制格式,然后将二进制数据发送到服务器。

在您的示例中,您只转换了文件的base64部分,而没有指出el-upload转换了哪些部分。但是,el-upload会将整个文件转换为二进制格式,而不仅仅是base64部分。如果您需要将整个文件转换为二进制格式,您可以使用Node.js或其他后端语言的文件读取功能来读取文件,并将其转换为二进制格式。

下面是一个使用Node.js将文件转换为二进制格式的示例代码:

const fs = require('fs');

// 读取文件
const fileBuffer = fs.readFileSync('file.png');

// 将文件转换为二进制格式
const binaryData = fileBuffer.toString('binary');

// 发送二进制数据到服务器

请注意,该示例代码是使用Node.js编写的,但其他后端语言也应该有类似的功能来读取文件并将其转换为二进制格式。

1 个回答

文件选择拿到的file数据本身就是二进制的啊,不需要做任何处理,我看你上面file.content.splist意思是你file.content是个base64Url?你从选择文件的回调到file.content中间做了base64处理还是什么操作

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题