LOAD_FILE gibt NULL zurück

Ich versuche das einfügen eines Bildes in mein MySQL-server. Ich habe einige der Forschung getan und es sieht aus wie der beste Weg das zu tun ist durch LOAD_FILE(). Allerdings LOAD_FILE() immer null zurück. Ich weiß, es gibt 4 Bedingungen für LOAD_FILE():

  1. Die Datei muss auf dem server-host
  2. Sie müssen geben Sie den vollständigen Pfadnamen der Datei, und Sie müssen die DATEI Berechtigungen.
  3. Die Datei muss lesbar für alle und seine Größe weniger als max_allowed_packet bytes.
  4. Wenn die secure_file_priv system die variable auf ein nicht leeres Verzeichnis name, der zu ladenden Datei muss sich in diesem Verzeichnis.

Ich bin derzeit mit:

select LOAD_FILE('/Users/pricedb/Desktop/FolderName/imageName');

und es gibt NULL

Habe ich bestätigt, dass alle Berechtigungen dem Benutzer erteilt. Was bedeutet es, dass die Datei muss auf dem server-host? Der server ausgeführt wird, von meinem lokalen computer und die Datei befindet sich dort, so heißt das, bin ich gut auf, dass?

Jede Beratung wäre sehr geschätzt, ich weiß nicht, warum es das nicht gibt einen Wert zurück.

  • Sind Sie versuchen zu laden, in einem Bild?
  • Ja, ich bin laden Sie eine jpg.
  • Neben der Tatsache, dass Sie sollten nicht speichern der Bilder in eine MySQL-Datenbank, was sind die Gründe HIERFÜR?
  • Ich bin erstellen einer app können Benutzer zum anzeigen und download von bestimmten Bildern. Ich brauche einen Weg, um die Bilder anzuzeigen, ohne dass der Benutzer tatsächlich herunterladen, es sei denn, Sie sind autorisiert. Meine aktuelle Prototyp app, über SQL-halten Sie die Speicherorte, und dann die app verwendet diesen Orten, um die Bilder anzuzeigen, aber in der endgültigen version wird der client nicht die Bilder, die sich auf Ihrem computer. Wie hätte ich sonst dem Benutzer erlauben, um die Bilder zu sehen, wenn nicht, indem wir Sie auf SQL? (PS, ich bin Recht neu in SQL, warum ist die Speicherung von Bildern auf dem server, schlechte Praxis?)
  • Speichern Sie das Bild auf dem Dateisystem. Bitte Lesen Sie dieser und dieser
  • Okay, ich glaube, ich verstehe. Also statt der Speicherung meiner Datei IN SQL würde ich Speichere Sie auf dem gleichen server wie MySQL und dann legen Sie einfach die Datei-Speicherorte in SQL? Theoretisch könnte der Benutzer SQL-Abfrage für den Speicherort der Datei, dann laden Sie es aus dem server? Sorry, wenn ich mich nicht Sinn machen, ich versuche nur, um herauszufinden, wie die typische Konfiguration funktioniert.
  • Sie nicht speichern Sie das Bild auf dem gleichen system wie MySQL. Sie speichern einen Pfad zum Bild, dann wieder, dass der Pfad zum Bild. Normalerweise ist der Pfad des Bildes gerendert wird, indem ein web-browser oder in eine Anwendung eingebettet ist, wie PHP, um zu verhindern, dass heiße verknüpfen.
  • was ist die Ausgabe von ls -l /Users/pricedb/Desktop/Ordnername/imageName?

InformationsquelleAutor user2761933 | 2013-09-10
Schreibe einen Kommentar