2017-03-24 18 views
1

Das ist die Struktur Ich habe:Transfer File vom Server auf einen anderen mit Rast Service-

Server 1: Form-Dateien hochladen und sie in internen Ordner speichern.
Server 2: Nur ein Repository mit Dateien.

Was ich brauche:

Ein Benutzer von Server 1 eine Datei hochladen, dann brauche ich einen Rest hat WS aufzurufen, die Datei von Server zu kopieren 1 bis Server 2.

zu dieser Lösung aproach Ich habe versucht, die Datei zu kodieren und die codierte Zeichenfolge an den RestService zu senden, dann die Zeichenfolge zu decodieren und eine neue Datei in Server2 zu erstellen. Dies funktioniert tatsächlich für Dateien mit 2 oder 3 MB, aber ich weiß nicht, ob es der beste Weg ist, es zu tun und weiß nicht, ob ich größere Dateien unterstütze (20 bis 30 MB).

+0

warum nicht übertragen Sie einfach Ihre ursprüngliche Datei von einem Server auf einen anderen mit REST. Warum kodierst du das? Codierung ist gut, wenn Sie mit Bilddatei und Allzweck-Datei im Web zu tun haben. Sie können das tun, wenn Sie die Datei auf Server 1 hochladen. Nach Abschluss können Sie eine POST-Anfrage auslösen, um Ihre Daten zusammen mit der Datei an einen anderen Server zu senden. Die zweite Lösung besteht darin, einen Backend-Cron-Job zu schreiben, der die neuen Uploads prüft und den REST-Endpunkt des zweiten Servers aufruft, der eine POST-Anfrage an diesen REST-Endpunkt sendet. Die gleiche Situation, die ich hatte und wenn Sie wollen, wie ich es getan habe, kann ich Details posten. – webDev

+0

Das ist vielleicht eine blöde Frage, aber wie kann ich die Datei mit den Daten an den Restdienst anhängen? – Avhelsing

+0

Sie müssen nicht anhängen, wie Sie Dateien mit HTML-Formular an ein PHP-Skript senden? Das gleiche mit Rest – webDev

Antwort

0

Sie können Dateien auf einen REST-Endpunkt hochladen, wie Sie es mit PHP tun können. Erinnern Sie sich, was Sie tun, indem Sie ein HTML-Formular und PHP verwenden. Sie posten einfach Ihr Formular und holen die Datei von Ihrem PHP. Es ist gleich mit REST-Endpunkten nichts anderes.
Zunächst geben Sie in Ihrem HTML-Formular die Aktion an, das Aktionsattribut stellt einen REST-Endpunkt dar, an den Sie Ihre Daten und Dateien (Uploads) senden.
Für weitere Erläuterungen, wenn Sie einfache HTML-Formular POST-Vorgang versuchen, bitte überprüfen Sie Ihre Post-Anfrage, wo Sie finden können, was Sie an einen REST-Endpunkt senden müssen.

In Ihrem Fall zum Beispiel eine POST-Anforderung an einen REST-Endpunkt machen als

POST /api/v1/myfileupload HTTP/1.1 
Host: 123.12.12.12:3000 
Authentication: Bearer some-token //there might be token based authentication 
Content-Type: image/jpeg 
Content-Length: 284 

raw image content 

Sie müssen sie über REST klar sein, ist REST nichts, In REST wir unseren virtuellen nur Web-Browser definieren.

Für weitere Informationen: Bitte sehen: Link

REST-Endpunkt ist eine URL wie andere Website-URL. Sehen Sie sich reference an, wie Sie Ihre Datei mit PHP Curl auf einen anderen Server übertragen können. Die Buchung auf einem anderen Server und die Veröffentlichung auf dem REST-Endpunkt ist das Gleiche. Post Files

+0

Ich habe versucht, Ihrem Beispiel zu folgen, (img- gelöschte) – Avhelsing

+0

Sie haben keine Namen als Datei, oder Sie greifen einfach als Datei, aber es gibt nichts, was Sie als Namensdatei eingereicht haben. Datei als POST-Feld. In deiner Bilddatei kann ich die obere nicht sehen. – webDev

+0

Ich versuche auf die $ _FILE php var zuzugreifen. Das gleiche wie im Beispiel. move_uploaded_file ($ _ FILES ["Datei"] ["tmp_name"], "upload /". $ _REQUEST ["fileName"]); – Avhelsing

Verwandte Themen