Dateibild zu Servlet schlägt fehl

8

Ich versuche, ein Bild auf ein Servlet hochzuladen, aber während des automatischen Testens fällt es immer wieder aus.

Weißt du, was das verursachen würde?

Hier ist der Code auf dem Server:

%Vor%

Hier ist der Test:

%Vor%

Hier ist die Ausgabe vom Server, wenn es fehlschlägt:

%Vor%

Wir fangen die Ausnahme vom Bildupload und senden einen Antwortcode von 422 zurück an den Client, so dass wir beim Test imgResponse == 422 erhalten, was ein Fehlerfall ist.

Hinweis: Dies geschieht nur manchmal Sie führen den Test durch.

    
Jason 02.10.2013, 15:02
quelle

6 Antworten

2

Hier ist eine Schritt-für-Schritt-Konfiguration für das Hochladen von Dateien mit Apache Commons FileUpload:

1. Fügt Abhängigkeits-Jar für die folgende Komponente hinzu. Hier sind die Abhängigkeiten von maven:

pom.xml

%Vor%

Wenn Sie maven nicht verwenden, dann laden Sie das entsprechende jar aus dem maven repository online herunter.

2. Erstellen Sie ein FileUploadForm-Modell

FileUploadForm.java

%Vor%

3. Fügen Sie den Resolver zur MVC-Konfigurationsdatei hinzu

%Vor%

4. Schreiben Sie FileUploadController

FileUploadController.java

%Vor%

5. Schreibe jsp Ansichten

file_upload_form.jsp

%Vor%

Referenz: Ссылка

    
Prakash Bhagat 16.10.2013 06:00
quelle
0

Anscheinend ist Ihr Inhaltstyp application / octet-stream. Bitte fügen Sie den folgenden Header in Ihre Anfrage ein und versuchen Sie

%Vor%     
Prabhakaran 02.10.2013 15:14
quelle
0

Sie verwenden InputStream # verfügbar . Wie die Dokumentation sagt, ist dies die Anzahl der Bytes , die aus dem Stream gelesen werden können, ohne zu blockieren . Wie viele Bytes aus dem TCP-Eingabestream verfügbar sind, hängt von der Größe der Pakete und davon ab, wie Ihre Anfrage unter ihnen aufgeteilt wird (und viel mehr anderen Faktoren).

Wenn Sie den Stream immer vollständig lesen möchten, vergessen Sie die available() -Methode, lesen Sie sie einfach bis zum Ende des Streams und Sie sollten in Ordnung sein.

    
boky 15.10.2013 12:25
quelle
0

Ich habe das schon mal unter zwei Bedingungen erlebt. Es war einmal, als ich knapp auf Festplattenspeicher lief und das andere war, als ich ein bisschen Belastungstest machte.

Wenn Sie sich die Seite Wie es funktioniert ansehen, können Sie das Tool erstellen Objekte auf die Festplatte ablegen oder im Speicher behalten. In einem Fall füllte ich das Laufwerk während des Tests und das andere behielt Elemente im Speicher, aber die Last blies mein Speicherlimit.

Wie haben Sie es eingerichtet? Wie groß ist das Bild, das Sie zum Testen verwenden? Wie oft laden Sie es während Ihrer Tests hoch? Mit dieser Information sollte ich ein bisschen mehr helfen können.

    
Jeff Richley 16.10.2013 14:46
quelle
0

Dieser Code wird derzeit auf meiner Website verwendet, funktioniert wie ein Zauber:

%Vor%     
SergeyB 16.10.2013 21:51
quelle
-1

Vielleicht ist die Reihenfolge der Elementliste nicht festgelegt (zeitabhängig?). Dein Code

%Vor%

beendet die Schleife, anstatt die nächsten Teile auszuprobieren. In den Kommentaren, die Sie angeben, durchlaufen wir die Dateien, bis wir einen analysieren können, der

lesen sollte %Vor%

dann.

    
Waldheinz 17.10.2013 12:49
quelle

Tags und Links