django RequestFactory-Datei hochladen

9

Ich versuche, eine Anfrage zu erstellen, mit RequestFactory und post mit Datei, aber ich bekomme keine Anfrage.FILES.

%Vor%

Wie bekomme ich eine Anfrage.FILES mit meiner Datei?

    
sam 26.01.2013, 19:01
quelle

4 Antworten

3

Wenn Sie die Datei zuerst öffnen und dann request.FILES dem geöffneten Dateiobjekt zuweisen, können Sie auf Ihre Datei zugreifen.

%Vor%

Jetzt können Sie auf Anfrage zugreifen.FILES wie Sie normalerweise würden. Denken Sie daran, dass, wenn Sie die offene Blockanforderung verlassen. FILES wird ein geschlossenes Dateiobjekt sein.

    
Einstein 15.10.2015 20:02
quelle
1

Sie müssen den korrekten Inhaltstyp und das richtige Dateiobjekt angeben, bevor Sie FILES aktualisieren.

%Vor%

Das boundary=------------------------1493314174182091246926147632 ist Teil des mehrteiligen Formulartyps. Ich habe es von einer POST-Anfrage meines Webbrowsers kopiert.

    
Ramast 18.08.2016 08:21
quelle
0

Stellen Sie sicher, dass "Datei" wirklich der Name Ihres Dateieingabefelds in Ihrem Formular ist. Ich habe diesen Fehler bekommen, wenn es nicht war (benutze name, nicht id_name)

    
Jens Timmerman 11.05.2016 12:56
quelle
0

Ich habe ein paar Änderungen an @Einsteins Antwort vorgenommen, um es für einen Test zu verwenden, der die hochgeladene Datei in S3 speichert:

%Vor%
  • Ohne die Datei als 'rb' zu öffnen, bekam ich einige ungewöhnliche Codierungsfehler mit den Dateidaten
  • Ohne f.seek(0) war die Datei, die ich in S3 hochgeladen habe, null Bytes
Mark Chackerian 20.12.2017 20:09
quelle

Tags und Links