2017-06-19 5 views
0

Ich benutze sapui5 Kontrolle UploadCollection zum Hochladen von Bildern und Servlets zur Bearbeitung der Postanfrage.Servlet: Bildupload mit Inhaltstyp wie image/jpeg

Problem 1: Ich habe die geringste Idee, den Inhalt zu analysieren, um Bilder in doPost zu erhalten.
Problem 2: Für die UploadCollection ist es nicht ratsam, den Inhaltstyp durch Ändern der Header-Parameter zu ändern. Also, ich müsste diese Bilder in Servlet ohne Multipart als Inhaltstyp erhalten.

Ich habe Dutzende von Beispielen gesehen, die alle mehrteilig als Inhaltstyp haben. Ich brauche eine Lösung, bei der der Inhaltstyp aus dem Browser als Bild/* kommt. Hinweise oder Code-Snippets würden tun.

Antwort

1

Ich bin mir nicht sicher, welche Beispiele Sie gesehen haben. Normalerweise verwendet die UploadCollection niemals multipart. Sie können den Code der UploadCollection here überprüfen und sehen, dass die FileUploader immer mit useMultipart: false erstellt werden.

Auch, wenn Sie die Beispiele aus der Explored App überprüfen, sehen Sie, dass der Inhaltstyp image/png ist oder was auch immer Art von Datei, die Sie (auf Chrome) wählen:

enter image description here

Ich bin nicht wirklich sicher, was ist das Verhalten auf IE 8/9, wo die Dinge ein wenig anders sind (Uploads über AJAX wird nicht unterstützt).

Der mehrteilige Inhaltstyp wird von der Eigenschaft useMultipart des FileUploader gesteuert. Wenn Sie mit diesem Wert herumspielen müssen, müssen Sie die Standard-Upload-Schaltfläche von der UploadCollection ersetzen. Um dies zu tun, machen Sie einfach die Standard-Upload-Schaltfläche unsichtbar (mit der Eigenschaft uploadButtonInvisible) und fügen Sie Ihre eigenen FileUploader in der Symbolleiste der UploadCollection.

In Bezug auf die Servlet-Frage: Es hängt davon ab, was Sie mit dem Bild tun möchten. You can get the InputStream from the request und dann verwenden Sie es für was auch immer Sie es brauchen. Der Eingabestream enthält das Bild selbst (wenn der Inhalt nicht mehrteilig ist).