将图像作为二进制数据包含在请求正文中

including image in request body as binary data

我需要使用多部分表单数据将图像作为二进制数据包含在我的上传请求中,但它似乎不起作用,我们将不胜感激。 我的代码:

  const [selectedFile, setSelectedFile] = useState(null);
  const handleSubmit = async (event) => {
    event.preventDefault();
    const formData = new FormData();
    formData.append('selectedFile', new Blob([selectedFile], { type: 'application/octet-stream' }));
    const data = {
      uploadLink,
      formData,
    };
    const headers = {
      'Content-Type': 'application/octet-stream' ,
      Accept: 'application/vnd.vimeo.*+json;version=3.4',
    };
    try {
      await axios
        .post(`${backendPostPath}/thumbnail-upload`, data, {
          headers,
        })
        .then((response) => {
          applyThumbnial();
          console.log(response);
        });
    } catch (error) {
      console.log(error);
    }
  };

  const handleFileSelect = (event) => {
    setSelectedFile(event.target.files[0]);
  };

包括 formData 作为 axios data 参数而不是你的 data 对象,所以你也可以在 formData 中包括 uploadLink:

const formData = new FormData();
formData.append('selectedFile', new Blob([selectedFile], { type: 'application/octet-stream' }));
formData.append('uploadLink', uploadLink)

//...
await axios
.post(`${backendPostPath}/thumbnail-upload`, formData, {
  headers,
})