Wie kann ich die Datei Hochladen (große Größe) die Verwendung von FileStream in der WebService im IIS(Internt Information Services)
Ich bin mit C# erstellen Sie einen Dienst für den Datei-Upload.
Erstellt habe ich drei Methoden:
upload_start(string filename)
upload_continue(string filename, byte[] buffer)
upload_end(string filename)
Funktioniert es, aber ich will nicht zu behandeln, 3 Funktionen aus dem client-Programm. Wie kann ich Sie öffnen ein FileStream-vom-client-Programm, und lassen Sie die server-Seite beenden Sie die Datei hochladen?
Sie wollen starten, nachdem die Datei hochgeladen werden, die vom client, der server kann über das Lesen der Datei vom client-computer? Ich bemühe mich um Klarstellung, was Sie zu tun versuchen.
Ja, ich möchte die server kümmern alles.
Ja, ich möchte die server kümmern alles.
InformationsquelleAutor alex | 2011-05-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die einfachste Methode wäre wahrscheinlich zu erstellen, die einen REST-service, entweder mit wcf oder etwas ähnliches machen mit asp.net aber Sie würde dann eben ein
POST
Betrieb, und der server könnte die Arbeit zu tun.Ist hier ein Ansatz:
http://debugmode.net/2011/05/01/uploading-file-to-server-from-asp-net-client-using-wcf-rest-service/
Hätte es eine einfachere Schnittstelle für Sie.
InformationsquelleAutor James Black
Ich glaube nicht, dass Sie können, wie die FileStream ist nicht Serialisierbar. Warum nicht übergeben Sie dem service den Namen der Datei (wie Sie bereits sind) und den Dienst, die Datei öffnen und verarbeiten.
Die server keinen Zugriff auf das Dateisystem auf dem client, als wäre das eine unglaublich große Sicherheitslücke, die anderen lieben würde, zu nutzen.
InformationsquelleAutor Jim
Für den upload einer großen Datei in WebServices(nicht Windows Cominication Foundation-WCF) - dies ist der Weg zu gehen:
In der server-Seite Datei-Web.Config fügen Sie diese xml-und ändern Sie den Wert von maxRequestLength abhängig von der maximalen Größe hochladen, von defoult maxRequestLength von 4MB, in diesem Beispiel 8192=MB
Hinzufügen eine andere öffentliche Funktion in der server-Seite, diese Funktion erhielt ein byte[] enthält die Datei, den Dateinamen und einen Pfad, wo Sie nicht speichern Sie die Datei in der server.
In der client-Seite fügen Sie diesen code zum senden der Datei:
InformationsquelleAutor daniele3004