data() {
return {
form: {},
}
},
methods: {
submit() {
this.form = await this.$axios.$post('/images', this.form)
},
无论"表单"对象的结构如何,我都可以轻松地发送它并在服务器中管理JSON。当我们需要一起发送一些上传的文件时,这种方法的问题似乎就出现了。最常见的方法似乎是以base64发送文件,但这是一种糟糕的做法,因为它会使文件大小变大。是否有这样的方法,我们可以在不将其转换为base64的情况下发送一个附加到JSON主体的文件,或者唯一的方法是使用formData方法?类似于多部分表单数据,但使用JSON?
否,json内容类型不能附加文件。对于API,最好单独进行文件上传,然后使用文件的路径(或磁盘和文件名(将资源与文件关联起来。
如果你必须做一个单一的请求,那么它必须在";formData";form。
更新:另一种方法是从客户端以base64格式对文件进行编码,然后在后端对其进行解码(潜在的质量损失,尚未尝试过,只是一个建议(