ASP.NET -Anforderung - Kann ich eine veröffentlichte Datei von einem auf dem Client erstellten dynamischen Steuerelement erhalten?
-
03-07-2019 - |
Frage
Ich habe eine Websteuerung mit benutzerdefiniertem JavaScript. Das JavaScript erstellt neue Datei -Upload -Steuerelemente auf dem Client, das dynamisch mit Code ähnelt wie folgt:
var newFileUpload = document.createElement('input');
newFileUpload.type = 'file';
container.appendChild(newFileUpload); // where container is a div
Dies existiert in einem ASP.NET-Formular mit einem auf Multipart/Formdaten eingestellten EngeTe-Set. Ich werde 1 - N -Steuerelemente auf der Seite haben (natürlich beschränkt auf eine angemessene Anzahl).
Ich möchte jetzt die hochgeladenen Dateien in meiner ASP.NET -Anwendung erfassen. Aufgrund des oben genannten Ansatzes weiß ich, dass ich sie nicht so erfassen kann, wie ich es aus einer Datei -Pload -Steuerung tun würde (was ich leider nicht verwenden kann). Gibt es eine andere Möglichkeit, die hochgeladenen Dateien zu erfassen?
Ich habe eine Reihe von Bereichen durchgesehen, darunter:
- Request.files
- Request.form
- Request.form.keys
- Request.inputStream
Aber ich konnte den Inhalt nicht finden. Ich glaube, der Client übermittelt diese Daten korrekt, konnte jedoch nicht feststellen, was der Server mit den RAW -Anforderungsinformationen macht (falls dies überhaupt freigelegt ist).
Hat jemand Vorschläge zu Bereichen, die ich weiter untersuchen könnte?
Vielen Dank
Lösung
Sie sollten a hinzufügen einzigartiger Name zu Ihrem Upload -Element, um es von Request.Form Collection zu erhalten.
var newFileUpload = document.createElement('input');
newFileUpload.type = 'file';
//newFileUpload.id = 'file01';
newFileUpload.name = 'file01';
container.appendChild(newFileUpload);
BEARBEITEN : Ich habe es mit Ausweis und Namen des Namens ausprobiert, die mit Namen, Sie können den Inhalt von erhalten
Request.Form["file01"]
Auch wenn Sie das folgende Attribut zu Ihrem Formularelement hinzufügen sollten. Auf diese Weise können Sie den Dateiinhalt per request.files ["file01"] abrufen:
enctype="multipart/form-data"