如何从上传的文件中删除 WebKitFormBoundary
how to remove WebKitFormBoundary from uploaded file
我正在尝试使用 multipart/form-data 上传 Webvvt 文件,问题是当我将文件发送到 api 时,文件包含破坏 Webvvt 格式的 WebKitFormBoundary 页眉和页脚,如下所示:
所以谁能告诉我以其他方式上传文件的方法,或者如何从文件中删除页眉和页脚。
我的上传请求代码是
const handleSubmit = (event) => {
event.preventDefault();
const formData = new FormData();
formData.append('selectedFile', new Blob([selectedFile], { type: 'text/webvtt' }));
const headers = {
Accept: ' application/vnd.vimeo.*+json;version=3.4',
};
try {
axios
.put(`${uploadLink}`, formData, {
headers,
})
.then((response) => {
const resData = response.data;
console.log(resData);
ApplyText();
});
} catch (error) {
console.log(error);
}
};
const handleFileSelect = (event) => {
setSelectedFile(event.target.files[0]);
console.log(event);
};
<form method="PUT" encType="multipart/form-data" onSubmit={handleSubmit} action={uploadLink}>
<input type="file" onChange={handleFileSelect} name="file_data" id="file" required />
<input type="submit" value="Upload File" />
</form>
所以我通过以下步骤解决了这个问题:
使用文件 reader 获取我要“上传”的文件的内容。
抓取该内容并将其直接放入请求正文中。
代码如下
const handleFile = (e) => {
e.preventDefault();
const content = e.target.result;
setSelectedFile(content);
};
const handleChangeFile = (file) => {
const fileData = new FileReader();
fileData.onloadend = handleFile;
fileData.readAsText(file);
};
我正在尝试使用 multipart/form-data 上传 Webvvt 文件,问题是当我将文件发送到 api 时,文件包含破坏 Webvvt 格式的 WebKitFormBoundary 页眉和页脚,如下所示:
所以谁能告诉我以其他方式上传文件的方法,或者如何从文件中删除页眉和页脚。
我的上传请求代码是
const handleSubmit = (event) => {
event.preventDefault();
const formData = new FormData();
formData.append('selectedFile', new Blob([selectedFile], { type: 'text/webvtt' }));
const headers = {
Accept: ' application/vnd.vimeo.*+json;version=3.4',
};
try {
axios
.put(`${uploadLink}`, formData, {
headers,
})
.then((response) => {
const resData = response.data;
console.log(resData);
ApplyText();
});
} catch (error) {
console.log(error);
}
};
const handleFileSelect = (event) => {
setSelectedFile(event.target.files[0]);
console.log(event);
};
<form method="PUT" encType="multipart/form-data" onSubmit={handleSubmit} action={uploadLink}>
<input type="file" onChange={handleFileSelect} name="file_data" id="file" required />
<input type="submit" value="Upload File" />
</form>
所以我通过以下步骤解决了这个问题: 使用文件 reader 获取我要“上传”的文件的内容。 抓取该内容并将其直接放入请求正文中。
代码如下
const handleFile = (e) => {
e.preventDefault();
const content = e.target.result;
setSelectedFile(content);
};
const handleChangeFile = (file) => {
const fileData = new FileReader();
fileData.onloadend = handleFile;
fileData.readAsText(file);
};