Ich versuche, S3-Dateispeicher in meine NodeJS-Anwendung zu integrieren. This tutorial zu erklären, wie direkt zu S3 hochladen ist sehr gut, aber es ist nicht für meine Bedürfnisse geeignet, wie ich will, dass die Dateien nur über meine Web-App-API zugänglich sind. Ich möchte nicht, dass die Dateien unter ihren S3-URLs öffentlich verfügbar sind, ich möchte nur, dass sie beispielsweise über /api/files/<user_id>/<item_id>/<filename>
verfügbar sind.Dateien von Amazon S3 über den NodeJS-Server übergeben, ohne die S3-URL offen zu legen?
Der Grund, warum ich downloads durch meine API gehen möchte, ist, damit ich überprüfen kann, dass der Benutzer diese bestimmte Datei anzeigen darf.
Der Grund, warum ich mag Uploads auf meinen Server durchlaufen, so ist, dass ich weiß, welche <item_id>
die Dateinamen zuweisen, da dies das gleiche wie seine MongoDB _id
Eigenschaft sein. Ich kann das nicht tun, wenn ich die Datei in S3 hochlade, bevor der Gegenstand überhaupt einen Mongo _id
hat.
Ich habe gesucht, konnte aber kein einfaches Tutorial finden, wie Dateien von S3 zum Client und umgekehrt durch meine NodeJS-Anwendung zu streamen.
Danke
Vielen Dank dafür! Ich entschied mich, dies mit der s3-Bibliothek zu starten, die einige einfache Hilfsfunktionen zum Hoch- und Herunterladen bietet, aber ich werde diese Antwort als Referenz für andere Dinge verwenden. – Aron
Beziehen Sie sich auf [node-s3-client] (https://github.com/andrewrk/node-s3-client)? Wenn ja, muss ich dich warnen, ich habe sehr schlechte Erfahrungen damit gemacht. Siehe zum Beispiel [Ausgabe # 127] (https://github.com/andrewrk/node-s3-client/issues/127), [Ausgabe # 121] (https://github.com/andrewrk/node-s3- Kunde/Ausgaben/121) – christophetd
Oh. Ja, das ist es. Hmmm:/Ok ich bleibe dabei für die Prototyp-Phase, werde es aber für Phase 2 tun. – Aron