Azure 함수에서 다중 섹션/양식 데이터 분석

내부 Azure 정적 사이트 프로젝트를 처리할 때 CSV 파일을 Azure 함수에 업로드하여 데이터를 Cosmos DB로 가져와야 합니다.
API에 파일을 업로드할 때 multipart/form-data 컨텐트 유형을 사용합니다.본문의 형식은 모든 파일을 얻기 위해 해석이 필요하기 때문에 좀 특수해 보인다.
-----WebKitFormBoundaryXvnFih9Jfw9ZdQNB
Content-Disposition: form-data; name': '"file"; filename="2020-9-2-localization.csv"
Content-Type: text/csv
id,name
test1,test1
test2,test2
------WebKitFormBoundaryXvnFih9Jfw9ZdQNB--
지난번 해석에 관한 문장 application/x-www-form-urlencoded in Azure Function과 마찬가지로 이런 내용 유형도 당신이 반드시 스스로 해석해야 합니다.
더 간단하게 하기 위해서는 다음 의존 항목을 프로젝트에 설치해야 합니다. npm i parse-multipart -S -E.코드는 다음과 같습니다.
import { AzureFunction, Context, HttpRequest } from "@azure/functions";
import * as multipart from 'parse-multipart';

const httpTrigger: AzureFunction = async function (context: Context, req: HttpRequest): Promise<void> {
  const body = req.rawBody;
  // Retrieve the boundary id
  const boundary = multipart.getBoundary(req.headers["content-type"]);
  if (boundary) {
    const files: File[] = multipart.Parse(Buffer.from(body), boundary);

    if (files && files.length > 0) {
      // Do what you want to do with the file
    }

    context.res.status(200);
  } else {
    context.res.status(500).send("No file(s) found.");
  }
};
나는 이것이 네가 업로드한 파일을 처리하는 데 도움을 줄 수 있기를 바란다.

좋은 웹페이지 즐겨찾기