2016-09-22 1 views
3

들어오는 multipart/form-data 파일을 서버 측의 디스크에 유효성을 검사하고 저장하는 SDK 작업을하고 있습니다. 뭔가 같은 : 필드 이름, 파일 이름, 파일 및 MIME 형식 :일반 들어오는 파일 업로드 모든 파이썬 프레임 워크에 대한 HTTP 요청 개체

sdk.upload(httpRequest, destinationPath, validationOptions) 

나는에 대한 들어오는 HTTP 요청을해야합니다.

  • 장고 : requestrequest.files이 파일이 포함 HttpRequestrequest.FILES이 파일
  • 플라스크를 포함

    문제는 파이썬 프레임 워크는 다른 HTTP 요청 객체를 가지고있다.

  • 피라미드 : request.POST에 파일이 있습니다.

다른 구조를 가진 files 사전의 파일 값 개체와 같습니다.

내가 원했던 것은 통일 된/일반적인 HTTP 요청 개체 또는이를 한 가지 방법으로 처리하는 다른 솔루션입니다.

가능한 불편 솔루션 :

  • 각 프레임 워크에 대한 다른 구현 유무 : 나는 일반적인 방법으로 처리하고자합니다.
  • lib로 다중 파트/폼 데이터 구문 분석하기 : 프레임 워크가 이미 한 번 구문 분석 했으므로 실제로는 다시 구문 분석합니다. 다른 언어

예 :

  • PHP : $ _FILES 객체
  • NodeJS : 읽기 가능한 스트림 요청
  • ASP.NET : 정적 HttpContext.Current.Request
+0

@ martijn-pieters이 "너무 광범위한"문제로 나를 도와 줄 수 있습니까? 귀하의 질문에 대한 답변은 내 주요 질문에 세부 사항으로 추가되어 너무 넓지는 않습니다. 이 질문이 너무 광범위하다는 이유를 이해하는 데 도움이됩니다. 감사합니다. –

+0

안녕하세요 플로린! StackOverflow 정치에 오신 것을 환영합니다. 마틴은 질문이 매우 잘 정의 된 것을 선호합니다. 마찬가지로 예제 코드를 제공하고 주석을 넣을 수 있습니다. "이 시점에서 내가 원하는 것은 이것입니다." '플래시와 피라미드의 예를 좋아합니다. 질문을 수정하면 다시 열립니다. –

답변

1

모든 프레임 워크는 WSGI 프로토콜 https://www.python.org/dev/peps/pep-0333/을 구현합니다. 이는 공통적 인 기본 메커니즘이며 그 위에 자신 만의 편의 기능을 구축했습니다. 항상 원시 WSGI로 돌아갈 수 있습니다.

은 업로드가 처리 한 후 파일을 저장하고 처리하기위한 공통 프레임 워크가 : 디포 http://depot.readthedocs.io/en/latest/

당신이 모든 프레임 워크에서 그것의 WebOb 요청 객체를 원시 WSGI 데이터를 잡아 생성 할 수 있습니다 예를 들어를 http://webob.org/

영감을 얻으려고 Authomatic을 (를) 참조하십시오. http://peterhudec.github.io/authomatic/

+0

장고에서 WebOb 요청을 생성하는 방법을 알아낼 수 없습니다. 모범이 있습니까? –

관련 문제