javascript - 尝试将图像上传到 Amazon S3 但出现错误
问题描述
我正在尝试将图像上传到 Amazon S3,但不断收到此错误:“VM222:1 Uncaught SyntaxError: Unexpected token < in JSON at position 0”。我不知道该怎么办。我遵循了网站上的所有示例代码。我的代码写在下面。
const uploadFile = (file, signedRequest, url) => {
const xhr = new XMLHttpRequest();
xhr.open('PUT', signedRequest);
xhr.onreadystatechange = () => {
if(xhr.readyState === 4){
if(xhr.status === 200){
document.getElementById('preview').src = url;
document.getElementById('avatar-url').value = url;
}
else{
alert('Could not upload file.');
}
}
};
xhr.send(file);
}
const getSignedRequest = (file) => {
const xhr = new XMLHttpRequest();
xhr.open('GET', `/sign-s3?file-name=${file.name}&file-type=${file.type}`);
xhr.onreadystatechange = () => {
if(xhr.readyState === 4){
if(xhr.status === 200){
const response = JSON.parse(xhr.responseText);
uploadFile(file, response.signedRequest, response.url);
}
else{
alert('Could not get signed URL.');
}
}
};
xhr.send();
}
const initUpload = () => {
const files = document.getElementById('file-input').files;
const file = files[0];
if(file == null){
return alert('No file selected.');
}
getSignedRequest(file);
}
return (
<div style={{ maxWidth: "700px", margin: "2rem auto" }}>
<div style={{ textAlign: "center", marginBottom: "2rem" }}>
<Title level={2}> Upload Prompt</Title>
</div>
<Form onSubmit={onSubmit}>
{/* DropZone */}
{/* <FileUpload refreshFunction={updateImages} /> */}
{/* kamran's code */}
<input type="file" id="file-input" onChange={initUpload}/>
非常感谢任何帮助。谢谢
解决方案
推荐阅读
- java - 如何将应用内购买添加到按钮?
- python - 获取“无”而不是python中的值列表
- html - href 不显示为可点击的链接
- gprs - 模块中配置的 APN 与 sim 不同
- javafx - JavaFx 重叠鼠标事件
- java - 用麦克风收听音轨以获取其当前时间戳
- asp.net - 带有 NUnit 和 Moq 的 ASP.NET MVC 5;如何模拟 RoleManager 以便可以设置它的扩展方法?
- python - 如何在 Python 3.8+ 和 Python 2.7 中使用 collections.abc
- python - 有没有办法在熊猫中查看更多列。它只列出第一列和最后一列
- python - Python库将哈希值生成为数字