我想从服务人员发送带有图像(二进制)的表单数据。
发送没有图像的表单数据,效果很好。 但是,如果表单数据包含图像(二进制),则服务工作者将毫无错误地发送任何内容。
然后..我发现了一些问题
选择英文(ascii字符)=>可以正常工作
奇怪的是,没有服务人员,两者都能很好地工作
我尝试重新启动浏览器,取消注册服务工作者,将Content-Type标头添加到axios请求中,以及更多的东西:(
我准备了下面的代码。我不知道为什么要这样工作
const formData = new FormData();
formData.append('title', paperTitle.value);
formData.append('content', paperContent.value);
formData.append('image', paperImage.files[0]);
// Send form data
axios.post('/api/addPost', formData)
.then(({ data }) => {
// Success
})
.catch(console.error);
// Service worker - fetch handler
self.addEventListener('fetch', function (event) {
event.respondWith(fetch(event.request));
});
没有图片(工作正常)
带有图片-韩国,中文等...文件名(表格数据不见了)
答案 0 :(得分:0)
我解决了这个问题。
[
{
"name": "Play It!!",
"type": "recording",
"status": "INITIATED",
"version": 1,
"id": 1
},
{
"name": "Play It!!",
"type": "recording",
"status": "COMPLETED",
"version": 1,
"id": 2
}
]
但是我仍然不知道为什么只有const formData = new FormData();
formData.append('title', paperTitle.value);
formData.append('content', paperContent.value);
// formData.append('image', paperImage.files[0]); // before
formData.append('file', paperImage.files[0]); // after
键起作用。