将内容文件从vue.js发送到java

cgvd09ve  于 2021-07-12  发布在  Java
关注(0)|答案(0)|浏览(261)

如果一个应用程序的前端是vue.js,后端是java,那么就可以像这样简单地发送附加文件的内容:
vue.js方面的一些东西:

<input type="file" id="files" ref="files" @change="previewFiles" placeholder="Add file"/>

//...

previewFiles() {
    this.fileName = this.$refs.files.files[0].name;
    this.files = this.$refs.files.files;
},                  

//...

var backendData = {
    documentType:         this.documentType,
    fileName:             this.fileName,
    fileData:             this.files[0]
}

var backendOptions = { 
    headers: { 
        'Authorization': localStorage.getItem("authToken") 
    } 
};

axios.post(backendUrl, backendData, backendOptions);

java端的一些成员字段:

@Field
private String documentType;

@Field
private String fileName;        

@Field
private byte[] fileData;

实际上它不起作用。我不知道我要改变什么:

fileData:             this.files[0]

... 在声明中:

@Field
private byte[] fileData;

这是我收到的错误:

400 JSON parse error: Cannot deserealize instance of byte[] out of START_OBJECT token
nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException

任何帮助都将受到感激。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题