当我在代码中尝试使用Angular Material时,我遇到了以下错误.
zone.js:101 GET http://localhost:3000/traceur 404 (Not Found)scheduleTask @ zone.js:101ZoneDelegate.scheduleTask @ zone.js:345Zone.scheduleMacroTask @ zone.js:282(anonymous function) @ zone.js:122send @ VM437:3fetchTextFromURL @ system.src.js:1156(anonymous function) @ system.src.js:1739ZoneAwarePromise @ zone.js:607(anonymous function) @ system.src.js:1738(anonymous function) @ system.src.js:2764(anonymous function) @ system.src.js:3338(anonymous function) @ system.src.js:3605(anonymous function) @ system.src.js:3990(anonymous function) @ system.src.js:4453(anonymous function) @ system.src.js:4705(anonymous function) @ system.src.js:408ZoneDelegate.invoke @ zone.js:332Zone.run @ zone.js:225(anonymous function) @ zone.js:591ZoneDelegate.invokeTask @ zone.js:365Zone.runTask @ zone.js:265drainMicroTaskQueue @ zone.js:497ZoneTask.invoke @ zone.js:437
login:15 Error: Error: XHR error (404 Not Found) loading http://localhost:3000/traceur
at XMLHttpRequest.wrapFn [as _onreadystatechange] (http://localhost:3000/node_modules/zone.js/dist/zone.js:794:30) … 我正在生成 S3 预签名 url,用于从本地上传文件。在前端,我使用 React。
我使用 API 调用获取预先签名的 URL,然后尝试使用 axios 上传文件,但它给出了 403(禁止)。
如果我使用 'curl' 使用相同的预签名 url,那么它可以正常工作,并且相同的文件会上传到 S3。
s3.py - 用于生成预签名的 url:
class S3Controller:
def __init__(self, client=None, bucket=None):
self.client = client
self.bucket = bucket
def signed_url(self, filename):
filename = filename.replace('/', '-').replace(' ', '-')
date = datetime.now()
key = f"audio/{date.year}/{date.month}/{date.day}/{filename}"
url = self.client.generate_presigned_url(
ClientMethod='put_object',
ExpiresIn=3600,
Params={
'Bucket': self.bucket,
'Key': key,
}
)
return url
Run Code Online (Sandbox Code Playgroud)
用于上传文件的组件:
import React, { Component, Fragment } from 'react';
import { withRouter } from 'react-router-dom';
import { S3SignedUrl …Run Code Online (Sandbox Code Playgroud)