2016-08-11 3 views
1

Wir haben ein System für einen Kunden, der wie Vine ist. Das Frontend verwendet Angular und das Backend verwendet eine mit Laravel erstellte REST-API. Wir speichern die Videos/Bilder auf Google Storage. Die meisten Benutzer haben ihren Sitz in Israel und einige von ihnen verwenden hebräische Sprache auf ihren PCs oder Mobiltelefonen. Das Problem liegt vor, wenn ein Nutzer ein Video mit hebräischen/arabischen Dateinamen hochlädt. Ich weiß, dass Laravel eine Lokalisierung hat, aber wie gehe ich beim Hochladen von Dateien vor.Laravel - Multi-Sprache Dateiname Upload

Der Upload ist sehr einfach und mit dem Laravel-Dateisystem. Übersetze ich den Video-Dateinamen zuerst in Englisch? oder einfach alle Videodateinamen in einen zufälligen Namen konvertieren?

+1

Ich denke, es ist besser, einen zufälligen Namen zu generieren. – Krishna38

+1

Aber Sie sollten immer noch den ursprünglichen Dateinamen speichern, mit dem es hochgeladen wurde, könnte später nützlich sein. –

+0

Ich denke, es hängt von Ihrer zukünftigen Verwendung ab. Wenn Sie den 'ursprünglichen Dateinamen' in Zukunft noch einmal verwenden möchten, können Sie die Datei mit einem zufälligen Namen speichern und sie irgendwo auf den ursprünglichen Namen abbilden (vielleicht in einer Tabelle). Wenn Sie es nicht verwenden, können Sie einfach einen zufälligen Namen erzeugen (Timestamp ist ein guter) –

Antwort

1

Ich würde vorschlagen, Dateinamen, um etwas zu konvertieren, wie:

auth()->user()->id.'-'.time().'.jpg' 

Mit diesem Ansatz werden Sie immer bekommen eindeutige Dateinamen.

Ein anderer Ansatz besteht darin, einen separaten Ordner für jeden Benutzer zu erstellen und Dateinamen basierend auf der zuletzt eingefügten ID zu erstellen.