이 블록에 대한 간략한 설명 : 내가 업로드 할 모든 파일 인 files
개체가 있습니다. 그런 다음 이전 S3 기능의 모든 서명 된 URL을 가진 signedUrls
개체가 있습니다. 개체의 색인이 일치합니다.fileId가 제대로 루핑되지 않습니다.
첫 번째 axios.put
은 파일을 업로드하고 두 번째 axios.post
은 파일 키를 내 DB에 저장합니다. (성공적으로 업로드되지 않았다면 데이터베이스에 저장하고 싶지 않으므로 axios.post
의 콜백 위치에 있습니다.)
파일은 정상적으로 업로드되고 있지만 fileId
은 정상적으로 루핑되지 않습니다. 동일한 fileId
을 반복해서 저장합니다. 즉, 5 개의 파일을 업로드하면 S3에 업로드되지만 모두 DB에서 동일한 ID를 갖게됩니다. 이것이 일어나는 이유는 무엇입니까?
fileIds = {"1": "someFileId", "2": "someOtherId" }
for (let i = 0; i < files.length; i++) {
axios.put(signedUrls[i], files[i], config).then(res => {
axios.post('https://myapi.com/add-file', {
fileId: fileIds[i]
}).then(res => {
// success
});
를 추가해보십시오'const를 ID = fileId' 대신 fileId''의. 적어도 할당 된 위치를 알려주십시오. – destoryer
@destoryer 제 편집을 봅니다 - 파일 ID가 번호가 매겨진 키가있는 객체이기도 한 것처럼 작동합니다. 나는 원래의 게시물을 지나치게 단순화했다. – Alan
모든 것이 나에게 잘된 것 같습니다. – destoryer