Ich habe eine Frage über die File API und Hochladen von Dateien in JavaScript und wie ich dies tun soll.Datei Hochladen ReadAsDataUrl
Ich habe bereits einen Datei-Uploader verwendet, der ziemlich einfach war, er nahm einfach die Dateien von einer Eingabe und machte eine Anfrage an den Server, der Server behandelte dann die Dateien und lud eine Kopie auf den Server in einem Upload-Verzeichnis hoch .
Ich versuche jedoch, Menschen die Möglichkeit zu geben, eine Datei vor dem Hochladen in der Vorschau anzuzeigen. So nutzte ich die File API, speziell die new FileReader()
und die folgende readAsDataURL()
.
Das Dateiobjekt hat eine Liste von Eigenschaften wie .size
und .lastModifiedDate
und ich hinzugefügt, um die readAsDataURL()
Ausgabe meines Dateiobjekt als Eigenschaft für eine einfachen Zugang in meinem Angular ng-repeat()
.
Meine Frage ist, fiel mir ein, als ich dies tat, dass ich die Daten in einer Datenbank speichern konnte anstatt die eigentliche Datei hochladen? Ich war mir nicht sicher, ob das Ändern der Dateidaten direkt mit ihrer Daten als Eigenschaft die Übertragung beeinflussen würde.
Was ist die beste Vorgehensweise? Ist es besser, eine Datei hochzuladen, oder können Sie die Daten einfach speichern und dann ausgeben, da dies im Wesentlichen die Datei selbst ist? Soll ich das Dateiobjekt nicht direkt ändern?
Vielen Dank.
Edit: Ich sollte auch beachten, dass dies ein Projekt für einen Kunden ist, der es schwer für Benutzer sein möchte, hochgeladene Inhalte einfach aus der Anwendung zu nehmen und sie zu speichern und dann neu zu verteilen. Würde das Speichern der Dateien URLs in einer Datenbank gegen Rechtsklick-Save-As-Verhalten mindern oder nicht?
zu retten kommt Ich denke, es hängt davon ab, wie Sie sich das Bild verwenden. Speichern Sie die URL, damit Sie sicher sind, dass die URL immer erreichbar ist, auch an einem anderen PC oder an einem anderen Ort. Wenn die URL von einer anderen Website stammt, müssen Sie sicherstellen, dass die Website nicht untergeht. Andernfalls wird Ihr Produkt beeinträchtigt. Nach Ihrer Beschreibung haben Sie Personen, die den Inhalt hochladen und die Benutzer anzeigen lassen. Wenn sich die Datei auf dem lokalen Computer befindet, glaube ich nicht, dass der Benutzer auf die Datei zugreifen kann. Was den Fall betrifft, so lange, wie der Inhalt im Browser des Benutzers angezeigt wird, denke ich, dass Sie nicht viel tun können, um zu verhindern, dass Benutzer ihn kopieren. – Surely
@Surely ich meine die Dataurl, die nichts mit Barrierefreiheit von einer anderen Domäne zu tun hat, wie ich es verstehe, eine Ausgabe der Datei als String. –
Entschuldigung, ich habe es falsch verstanden.Solange Sie den Inhalt haben, denke ich, es hat kein Problem, den Inhalt direkt zu speichern. Sie können einige andere Informationen wie den Dateinamen verlieren .. Ihr Server benötigt auch einige Änderungen, um die hochgeladenen Daten in eine Datei zu konvertieren. – Surely