Benutzer mit den meisten Antworten
Fehler beim Upload einer Datei

Frage
-
Hallo,
ich habe eine ASP.Net Anwendung. Diese habe ich auf meiner lokalen Entwickler Maschine gestartet.
http://localhost:9384/
Nun will ich aus einer zweiten Anwendung (ebenfalls lokaler Entwickler PC) heraus auf diesen "Server" eine Datei hochladen. Dafür verwende ich folgenden Code:
WebClient myWebClient = new WebClient(); string quelle = @"D:\Temp\Test.txt"; string ziel = "http://localhost:9384/TestZiel.txt"; myWebClient.UploadFile(ziel, quelle);
Beim "UploadFile" erhalte ich jedoch folgende Fehlermeldung
"Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden."
Die Datei "D:\Temp\Text.txt" ist vorhanden. Eine Anwendung "http://localhost:9384" läuft.
Kann mir jemand sagen, was mir noch fehlt? Muss ich eventuell in der WebConfig der WebAnwendung noch eine Einstellung vornehmen, dass ich Dateien hochladen darf?
Bin für jede Info dankbar.
Gruß
Thomas
Antworten
-
Hallo Thomas1234567,
unter [1] und [2] finden Sie zwei Artikel, die sich mit diesem Thema befassen. Dort finden Sie auch funktionsfähige Beispiele, wie diese Funktionalität realisiert werden kann.
[1] http://www.dotnetbull.com/2011/09/uploading-files-from-client-side-to-ftp.html
[2] http://chiragvidani.blogspot.de/2011/10/how-to-uploaddownload-file-tofrom.html
Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.
Viele Grüße,
Hristo Valev
App-Entwickler-Hotline für MSDN Online Deutschland
Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die MSDN Hotline: http://www.msdn-online.de/Hotline
Es gelten für die MSDN Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die MSDN Hotline.- Als Antwort markiert Ciprian Bogdan Montag, 7. April 2014 11:13
-
Hallo Thomas,
natürlich brauchst Du auf Serverseite etwas, was den Upload entgegennimmt und verarbeitet. Du hast dir das dann doch ganz klein wenig zu einfach vorgestellt :)
Auf Serverseite kannst Du bspw. einfach eine ASHX Datei mit folgendem Code hinterlegen:
<%@ WebHandler Language="VB" Class="Upload" %> Imports System Imports System.IO Imports System.Xml Imports System.Web Public Class Upload : Implements IHttpHandler Public Sub ProcessRequest( ByVal context As HttpContext ) Implements IHttpHandler.ProcessRequest Dim File As HttpPostedFile = context.Request.Files( 0 ) File.SaveAs( "X:\Ordner\" & Path.GetFileName( File.FileName ) ) context.Response.ContentType = "text/html" context.Response.Write( "Datei erfolgreich hochgeladen" ) End Sub Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable Get Return False End Get End Property End Class
Die Datei kannst du bspw. als Upload.ashx speichern und bei http://localhost:9384/Upload.ashx als Ziel angeben.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Ciprian Bogdan Montag, 7. April 2014 11:12
Alle Antworten
-
Hallo Thomas1234567,
unter [1] und [2] finden Sie zwei Artikel, die sich mit diesem Thema befassen. Dort finden Sie auch funktionsfähige Beispiele, wie diese Funktionalität realisiert werden kann.
[1] http://www.dotnetbull.com/2011/09/uploading-files-from-client-side-to-ftp.html
[2] http://chiragvidani.blogspot.de/2011/10/how-to-uploaddownload-file-tofrom.html
Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.
Viele Grüße,
Hristo Valev
App-Entwickler-Hotline für MSDN Online Deutschland
Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die MSDN Hotline: http://www.msdn-online.de/Hotline
Es gelten für die MSDN Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die MSDN Hotline.- Als Antwort markiert Ciprian Bogdan Montag, 7. April 2014 11:13
-
Hallo Thomas,
natürlich brauchst Du auf Serverseite etwas, was den Upload entgegennimmt und verarbeitet. Du hast dir das dann doch ganz klein wenig zu einfach vorgestellt :)
Auf Serverseite kannst Du bspw. einfach eine ASHX Datei mit folgendem Code hinterlegen:
<%@ WebHandler Language="VB" Class="Upload" %> Imports System Imports System.IO Imports System.Xml Imports System.Web Public Class Upload : Implements IHttpHandler Public Sub ProcessRequest( ByVal context As HttpContext ) Implements IHttpHandler.ProcessRequest Dim File As HttpPostedFile = context.Request.Files( 0 ) File.SaveAs( "X:\Ordner\" & Path.GetFileName( File.FileName ) ) context.Response.ContentType = "text/html" context.Response.Write( "Datei erfolgreich hochgeladen" ) End Sub Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable Get Return False End Get End Property End Class
Die Datei kannst du bspw. als Upload.ashx speichern und bei http://localhost:9384/Upload.ashx als Ziel angeben.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Ciprian Bogdan Montag, 7. April 2014 11:12
-
Hallo Thomas,
ne, leider nicht. Ich arbeite nicht mit ASP.NET MVC, daher hab ich leider kein Beispiel hierfür.
Letztendlich sollte der Handler aber auch in einem MVC Projekt nutzbar sein, alternativ einfach die paar Zeilen Code aus dem Handler in dein Projekt übernehmen.
Zur Serialisierung: Spät bei Binär- und/oder großen Dateien wird das aber ziemlich eklig^^
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hi,
Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
Wenn nicht, neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.
Danke und viele Grüße,
CiprianCiprian Bogdan, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip„Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.