CURL Befel in ein .NET Dateiupload umwandeln

  • VB.NET
  • .NET (FX) 4.5–4.8

    CURL Befel in ein .NET Dateiupload umwandeln

    Hallo Leute,

    es gibt die Möglichkeit auf ein Gerät mit integriertem Webservice PDF-Dateien hochzuladen.
    Folgendes habe ich dazu im Netz gefunden:

    Accessing files via curl

    If you have curl available (or wget or similar), you can upload and download files via the command line.

    chronos@localhost ~/Downloads $ curl 'http://10.11.99.1/upload' -H 'Origin: [url]http://10.11.99.1[/url]' -H 'Accept: */*' -H 'Referer: [url]http://10.11.99.1/[/url]' -H 'Connection: keep-alive' -F "file=@Get_started_with_reMarkable.pdf;filename=Get_started_with_reMarkable.pdf;type=application/pdf"

    Upload successfull

    chronos@localhost ~/Downloads $



    Nun möchte ich einfach per VB.NET Code eine vorhandenen PDF-Datei auf diesen Webserver hochladen.

    Dieser Code (hab ich vorher ausprobiert) gibt einen Fehler System.Net.WebException: "Der Remoteserver hat einen Fehler zurückgegeben: (413) entity too large." zurück:

    VB.NET-Quellcode

    1. Public Function FileUploadToDevice(PDFFile As String, VissibleName As String) As String
    2. 'Datei als Filestream öffnen
    3. Dim Antwort As String
    4. Dim data() As Byte = File.ReadAllBytes(PDFFile)
    5. 'Hier die Datei hochladen
    6. Using UploadWebClient As New Net.WebClient
    7. UploadWebClient.Headers.Add("Origin", "http://10.11.99.1")
    8. UploadWebClient.Headers.Add("Accept", "*/*")
    9. UploadWebClient.Headers.Add("Referer", "http://10.11.99.1/")
    10. UploadWebClient.Headers.Add("file", "Test1.pdf")
    11. UploadWebClient.Headers.Add("filename", "1.pdf")
    12. Dim responsebytes = UploadWebClient.UploadData("http://10.11.99.1/upload", "PUT", data)
    13. Antwort = (New System.Text.UTF8Encoding).GetString(responsebytes)
    14. MsgBox(Antwort) 'nur zum Debuggen
    15. End Using
    16. Return ""
    17. End Function


    Nur steh ich voll auf der Leitung.
    Wie kann ich das machen?

    EDTIT / GELÖST: Das einfachste liegt so nahe und funktioniert auch:

    VB.NET-Quellcode

    1. My.Computer.Network.UploadFile(PDFFile, "http://10.11.99.1/upload")

    Manchmal geht der Knopf zu spät auf ;-).


    Liebe Grüße
    Roland Berghöfer

    Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „dive26“ ()