我正在尝试使用 html 表单和 imgur api(react) 上传图像。
我在注册 api 时选择了带有回调 URL 的 OAuth 2 授权。
问题是 api 无法处理错误 429(有时是 net::ERR_HTTP2_PROTOCOL_ERROR)。
这是代码
const imageUpload = (e) => {
console.log("called");
var fileIn = e.target;
var file = fileIn.files[0];
if (file && file.size < 5e6) {
const formData = new FormData();
formData.append("image", file);
fetch("https://api.imgur.com/3/image", {
method: "POST",
headers: {
Authorization: "Client-ID //my client Id",
Accept: "application/json",
},
body: formData,
})
.then((response) => response.json())
.then((response) => {
e.preventDefault();
console.log(response);
console.log(response.data.link);
url_in = response.data.link;
});
} else {
console.error("oversized file");
}
}
Run Code Online (Sandbox Code Playgroud)
这是输入标签代码
<input type="file" name="image" id="upload" onChange={imageUpload}></input>
Run Code Online (Sandbox Code Playgroud)
我只需要上传图片的url
"start": "react-scripts start --host 0.0.0.0"我根据某人在此答案中所做的评论将 package.json 中的启动脚本更改为此脚本。然后我将浏览器指向http://0.0.0.0:3000/,我就可以得到 imgur 的响应。