2016-07-31 9 views
-2

Wir erstellen Website mit Laravel 5.2 (REST API) und AngularJS.REST API und Bilder

Alles ging gut, bis „Bildgalerie“, die von Dateien auf dem Server gespeichert wird erstellt.

Zuerst fand ich einige Informationen hier: Laravel image gallery logic. Sie verwendeten REST API nicht, aber es war ein guter Anfangspunkt.

Dann fand ich einige Informationen über das Speichern von Bildern in Öffentlichen Ordner und Senden über API-Pfad an sie wie: "public/images/folder1/image.jpg", aber wie einige andere Leute darauf hinweist, ist dies nicht sicher. Es ist sehr einfach zu "erraten", wie andere Wege zu Bildern aussehen können. Sicher kann ich immer eine einzigartige Guid für jedes Bild erstellen und es in der Datenbank speichern, aber ich weiß nicht, ob dies der beste Weg ist. Ich mag die allgemeine Idee nicht, alle persönlichen Benutzerinformationen (Bilder) im Ordner "public" zu speichern.

Dann habe ich hier eine andere Information gefunden: https://www.codetutorial.io/laravel-5-file-upload-storage-download/ wo Autor schrieb, wie man tatsächliche Bilddaten mit REST API sendet, aber es gibt einen Haken. Die GET-Anfrage lädt nur eine Datei herunter. Wenn ich also 20 Bilder auf einer einzelnen Seite habe, muss ich 20 GET-Anfragen an den Server senden, um sie zu bekommen (stell dir 100 Benutzer vor). Ich glaube nicht, dass dies der beste Weg ist, um mein Problem zu lösen.

Wahrscheinlich würde ich es vorziehen, alle Bilder in einzelne Anfrage zu senden, aber das ist eine gute Idee? Ein großes JSON erstellen und aufteilen?

Kann mir jemand helfen oder zumindest eine neue Idee geben, wie ich damit umgehen soll? Ich glaube, ich habe hier etwas Wichtiges verpasst.

+0

Machen Sie den UUID-Ansatz. Das ist es, was die meisten großen Websites tun - werfen Sie einen Blick auf die URLs in den Bildern von Twitter, Facebook, Google usw. Sie möchten die Bilddaten nicht direkt in einer Datenbank speichern, und Sie möchten PHP nicht in eine Menge statischer Dateianforderungen einbeziehen. – ceejayoz

+0

Ich habe sie nicht direkt in einer Datenbank, sondern in Ordnern auf dem Server gespeichert. Ich habe mich nur gefragt, was besser ist: "sende alle Dateien oder nur den Pfad dorthin" über die API. Aber danke für deine Hilfe, ich werde meine Suche auf UUID machen. – Roger

Antwort

0

UUID (Universally Unique Identifier) ​​wird Ihnen helfen, diesen Problemspeicher zu lösen und zu holen, minimiert Hacks und andere Angriffe sichern Sie auch Ihre .htaccess-Datei im öffentlichen Ordner gemäß Ihrer aktuellen Sicherheitsanforderung.

+0

Ok, danke für Hilfe. – Roger