Javascript 如何使用axios将图像作为应用程序/json数据发布到REST enpoint?
我需要将图像数据发送到只处理Javascript 如何使用axios将图像作为应用程序/json数据发布到REST enpoint?,javascript,json,axios,Javascript,Json,Axios,我需要将图像数据发送到只处理application/json数据的rest端点 我有以下适用于处理multipart/form data数据的端点的axios代码: let data = new FormData(); canvas.toBlob(blob => { data.append("image", blob); this.loading = true; axios .post(this.a
application/json
数据的rest端点
我有以下适用于处理multipart/form data
数据的端点的axios代码:
let data = new FormData();
canvas.toBlob(blob => {
data.append("image", blob);
this.loading = true;
axios
.post(this.annotateUrl, data, {
headers: {
"Content-Type": "multipart/form-data"
}
})
根据我找到的教程,我认为这应该行得通。但是端点似乎没有得到任何数据
canvas.toBlob(blob => {
let data = {
image: blob
}
this.loading = true;
axios
.post(this.annotateUrl, data, {
headers: {
"Content-Type": "application/json"
}
})
有什么想法吗?谢谢。您基本上可以将图像添加到html画布,并调用画布的“”方法将图像编码为字符串。然后可以将编码的字符串作为JSON属性发送。基本上可以将图像添加到html画布,并调用画布的“”方法将图像编码为字符串。然后可以将编码字符串作为JSON的属性发送。多亏了Ajay Ullal,我编写了以下代码:
let canvas = this.$parent.image.raster.canvas;
let dataurl = canvas.toDataURL();
let data = { image: dataurl };
this.loading = true;
axios
.post(this.annotateUrl, data, {
headers: {
"Content-Type": "application/json"
}
})
.then([...])
.catch([...])
.finally([...])
作为旁注,我注意到axios通过飞行前的选项调用开始通信,这使事情变得有点复杂。我建议您密切关注浏览器的调试控制台,查看错误/警告消息 多亏了Ajay Ullal,我编写了以下代码:
let canvas = this.$parent.image.raster.canvas;
let dataurl = canvas.toDataURL();
let data = { image: dataurl };
this.loading = true;
axios
.post(this.annotateUrl, data, {
headers: {
"Content-Type": "application/json"
}
})
.then([...])
.catch([...])
.finally([...])
作为旁注,我注意到axios通过飞行前的选项调用开始通信,这使事情变得有点复杂。我建议您密切关注浏览器的调试控制台,查看错误/警告消息 什么是
blob
以及数据的结果字符串值是什么。image
blob是由blob
返回的对象句柄,以及数据的结果字符串值是什么。image
blob是由奇怪的事情返回的对象句柄,现在代码抛出异常,正因为如此,这是怎么可能的。我确信响应头包含“访问控制允许源”。您可以参考此项以获得问题的解决方案。基本上,您需要将'data:'源代码添加到内容安全策略头中的img src指令中。奇怪的是,现在代码抛出了一个异常,因为这是怎么可能的。我确信响应头包含“访问控制允许源”。您可以参考此项以获得问题的解决方案。基本上,您需要将“data:”源添加到内容安全策略头中的img src指令中。