JavaScript 및 FastAPI를 사용하여 여러 파일을 업로드하려면 어떻게해야합니까?

데이비드 잘츠 만

FastAPI 문서를 따랐고 js로 작성한 클라이언트에서 FastAPI로 작성한 서버로 파일을 보내려고합니다.

내 HTML :

<html>
    <head>
        <script src="https://code.jquery.com/jquery-2.0.3.js" integrity="sha256-lCf+LfUffUxr81+W0ZFpcU0LQyuZ3Bj0F2DQNCxTgSI=" crossorigin="anonymous"></script>
        <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
    </head>

    <body>
            <input id='fileid' type='file' value="Load miRNA data"/>
            <input id='fileid2' type='file' value="Load Target data"/>
            <input id='buttonid' type='button' value='Upload' />
    </body>
    <script type="text/javascript" src="./uplaodfiles.js"></script>
 </html>    

내 uploadfiles.js

document.getElementById('buttonid').addEventListener('click', generate);

function generate() {
  let file = document.getElementById("fileid").files[0];
  let file2 = document.getElementById("fileid2").files[0];
  let formData = new FormData();
  formData.append("file",file,file.name)
  formData.append("file2",file2,file2.name)
  console.log(formData)
  axios.post('http://127.0.0.1:8000/actions/upload', formData, {
    headers: {
      'content-Type': 'multipart/form-data'
    }
})
}

action.py

from typing import List
from fastapi import APIRouter,Header,HTTPException,FastAPI, File, UploadFile

router = APIRouter()

import pandas as pd

@router.post('/upload')
def upload_file(files: List[UploadFile] = File(...)):
        print('Arrived')

    

성공적으로 파일을 가져올 수 없으며 서버 측에서 오류가 발생합니다.

INFO:     127.0.0.1:59210 - "POST /actions/upload HTTP/1.1" 422 Unprocessable Entity

고객:

Uncaught (in promise) Error: Request failed with status code 422
    at e.exports (isAxiosError.js:10)
    at e.exports (isAxiosError.js:10)
    at XMLHttpRequest.l.onreadystatechange (isAxiosError.js:10)

이 문제를 어떻게 해결할 수 있으며 업로드 엔드 포인트에서받은 파일을 어떻게 사용할 수 있습니까?

이사비

이 문제로 인해 당신이 매개 변수를 통과한다는 사실에 가능성 file1file2때 엔드 포인트가 기대 List라는 이름의 파일을 files.

코드를 테스트하지는 않았지만 실제 파일로 배열을 만들고 FormData이름 아래에 추가하는 기본 아이디어 files입니다. 목표를 달성하는 방법에 대한 아이디어를 제공해야하는 코드 아래.

let formData = new FormData();
formData.append("files",[file, file2]);

또는 내 솔루션이 작동하지 않으면 formData ()를 사용하여 여러 파일 업로드를 시도 할 수 있지만 다시 한 번 내 대답은 주로 올바른 경로로 안내하는 것입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

JavaScript 및 Json을 사용하여 API에 데이터를 게시하려면 어떻게해야합니까?

분류에서Dev

Node.js 및 Axios를 사용하여 AWS의 사전 서명 된 URL에 파일을 업로드하려면 어떻게해야합니까?

분류에서Dev

spring Mvc를 사용하여 jsps로 CSS 및 js 파일을 추가하려면 어떻게해야합니까?

분류에서Dev

nodejs를 사용하여 zip 파일을 업로드하고 추출하려면 어떻게해야합니까?

분류에서Dev

PHP를 사용하여 여러 PDF 파일을 다운로드하려면 어떻게해야합니까?

분류에서Dev

FormData 및 XmlHTTPRequest를 사용하여 파일을 업로드하려면 어떻게합니까?

분류에서Dev

ftp.storbinary를 사용하여 파일을 업로드하려면 어떻게해야합니까?

분류에서Dev

awk를 사용하여 여러 줄 일치 및 대체를 수행하려면 어떻게해야합니까?

분류에서Dev

nodejs를 사용하여 javascript에서 xml을 다운로드하려면 어떻게해야합니까?

분류에서Dev

jquery / javascript를 사용하여 setInterval을 올바르게 업데이트하려면 어떻게해야합니까?

분류에서Dev

어떻게 Webflux를 사용하여 여러 파일을 업로드하려면?

분류에서Dev

FFmpeg 및 자막을 사용하여 MKV를 MP4로 변환하려면 어떻게해야합니까?

분류에서Dev

Ruby Net :: SSH.start를 사용하여 여러 파일을 전송하려면 어떻게해야합니까?

분류에서Dev

ARCore Android SDK를 사용하여 SceneViewer에서 glTF 파일을로드하려면 어떻게해야합니까?

분류에서Dev

angularfire2를 사용하여 Firebase에 동영상을 업로드하려면 어떻게해야합니까?

분류에서Dev

하나의 docker compose 파일에 Elastic Search (여러 노드 포함) 및 Kibana를 사용하려면 어떻게해야합니까?

분류에서Dev

레코드 유형, 객체 및 생성자를 사용하여 PLSQL에서 여러 입력 값을 제공하려면 어떻게해야합니까?

분류에서Dev

PHP를 사용하여 IIS 업로드 제한을 얻으려면 어떻게해야합니까?

분류에서Dev

PHPMailer를 사용하여 HTML, CSS 및 PHP를 이메일에 추가하려면 어떻게해야합니까?

분류에서Dev

PHP 및 Javascript를 사용하여 MYSQL에서 여러 데이터를 검색하려면 어떻게해야합니까?

분류에서Dev

Javascript 및 regex를 사용하여 내 변수 내에서 <style type = "text / css"> ... </ style>을 제거하려면 어떻게해야합니까?

분류에서Dev

REST API를 사용하여 Google 드라이브의 특정 파일에 새 버전을 업로드하려면 어떻게해야합니까?

분류에서Dev

REST API를 사용하여 Google 드라이브의 특정 파일에 새 버전을 업로드하려면 어떻게해야합니까?

분류에서Dev

Python 및 Jupyter를 사용하여 데이터를 한 줄로로드하려면 어떻게해야합니까?

분류에서Dev

ULink를 사용하여 IAR 컴파일러의 Hex 파일 출력을 MCU에 다운로드하려면 어떻게해야합니까?

분류에서Dev

awk를 사용하여 열별로 두 파일을 병합하려면 어떻게해야합니까?

분류에서Dev

Javascript 용 AWS-SDK를 사용하여 CloudSearch 도메인을 검색하려면 어떻게해야합니까?

분류에서Dev

RSpec class_double 및 as_stubbed_const를 사용하여 값을 반환하려면 어떻게해야합니까?

분류에서Dev

Python 및 PyGithub / GitPython을 사용하여 내 git 저장소를 복제하려면 어떻게해야합니까?

Related 관련 기사

  1. 1

    JavaScript 및 Json을 사용하여 API에 데이터를 게시하려면 어떻게해야합니까?

  2. 2

    Node.js 및 Axios를 사용하여 AWS의 사전 서명 된 URL에 파일을 업로드하려면 어떻게해야합니까?

  3. 3

    spring Mvc를 사용하여 jsps로 CSS 및 js 파일을 추가하려면 어떻게해야합니까?

  4. 4

    nodejs를 사용하여 zip 파일을 업로드하고 추출하려면 어떻게해야합니까?

  5. 5

    PHP를 사용하여 여러 PDF 파일을 다운로드하려면 어떻게해야합니까?

  6. 6

    FormData 및 XmlHTTPRequest를 사용하여 파일을 업로드하려면 어떻게합니까?

  7. 7

    ftp.storbinary를 사용하여 파일을 업로드하려면 어떻게해야합니까?

  8. 8

    awk를 사용하여 여러 줄 일치 및 대체를 수행하려면 어떻게해야합니까?

  9. 9

    nodejs를 사용하여 javascript에서 xml을 다운로드하려면 어떻게해야합니까?

  10. 10

    jquery / javascript를 사용하여 setInterval을 올바르게 업데이트하려면 어떻게해야합니까?

  11. 11

    어떻게 Webflux를 사용하여 여러 파일을 업로드하려면?

  12. 12

    FFmpeg 및 자막을 사용하여 MKV를 MP4로 변환하려면 어떻게해야합니까?

  13. 13

    Ruby Net :: SSH.start를 사용하여 여러 파일을 전송하려면 어떻게해야합니까?

  14. 14

    ARCore Android SDK를 사용하여 SceneViewer에서 glTF 파일을로드하려면 어떻게해야합니까?

  15. 15

    angularfire2를 사용하여 Firebase에 동영상을 업로드하려면 어떻게해야합니까?

  16. 16

    하나의 docker compose 파일에 Elastic Search (여러 노드 포함) 및 Kibana를 사용하려면 어떻게해야합니까?

  17. 17

    레코드 유형, 객체 및 생성자를 사용하여 PLSQL에서 여러 입력 값을 제공하려면 어떻게해야합니까?

  18. 18

    PHP를 사용하여 IIS 업로드 제한을 얻으려면 어떻게해야합니까?

  19. 19

    PHPMailer를 사용하여 HTML, CSS 및 PHP를 이메일에 추가하려면 어떻게해야합니까?

  20. 20

    PHP 및 Javascript를 사용하여 MYSQL에서 여러 데이터를 검색하려면 어떻게해야합니까?

  21. 21

    Javascript 및 regex를 사용하여 내 변수 내에서 <style type = "text / css"> ... </ style>을 제거하려면 어떻게해야합니까?

  22. 22

    REST API를 사용하여 Google 드라이브의 특정 파일에 새 버전을 업로드하려면 어떻게해야합니까?

  23. 23

    REST API를 사용하여 Google 드라이브의 특정 파일에 새 버전을 업로드하려면 어떻게해야합니까?

  24. 24

    Python 및 Jupyter를 사용하여 데이터를 한 줄로로드하려면 어떻게해야합니까?

  25. 25

    ULink를 사용하여 IAR 컴파일러의 Hex 파일 출력을 MCU에 다운로드하려면 어떻게해야합니까?

  26. 26

    awk를 사용하여 열별로 두 파일을 병합하려면 어떻게해야합니까?

  27. 27

    Javascript 용 AWS-SDK를 사용하여 CloudSearch 도메인을 검색하려면 어떻게해야합니까?

  28. 28

    RSpec class_double 및 as_stubbed_const를 사용하여 값을 반환하려면 어떻게해야합니까?

  29. 29

    Python 및 PyGithub / GitPython을 사용하여 내 git 저장소를 복제하려면 어떻게해야합니까?

뜨겁다태그

보관