none
Fehler beim Upload einer Datei RRS feed

  • 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

    Dienstag, 1. April 2014 14:11

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
    MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

    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.

    Donnerstag, 3. April 2014 12:24
  • 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

    Donnerstag, 3. April 2014 13:03
    Moderator

Alle Antworten