2016-05-22 40 views
1

Ich habe an einem Projekt gearbeitet, bei dem ich regelmäßig die Verknüpfungen und die Datenbank aktualisieren muss. Ich bin mit dem Löschen von Dateien festgefahren. Ich habe fs.unlink von fs für diesen Zweck verwendet, aber es wirft einen Fehler auf.Wie lösche ich eine Datei in sailsjs?

Code-Snippet -

fs.unlinkSync("/images/uploadedImages/70c9c2c4-74de-41c1-b096-c403b749a1a9.png"); 
sails.log.info("Logo deleted succesfully"); 

Fehlerprotokoll -

fs.js:932 
return binding.unlink(pathModule._makeLong(path)); 
Error: ENOENT: no such file or directory, unlink '/images/uploadedImages/70c9c2c4-74de-41c1-b096-c403b749a1a9.png' 

Auch die Datei 70c9c2c4-74de-41c1-b096-c403b749a1a9.png existiert im Pfad/images/uploadedImages /, das ist im Ordner "Assets" der Struktur "sailsjs".

Gibt es keinen Weg, dies zu erreichen?

+0

Die Datei existiert nicht in dem Pfad, den Sie angegeben haben. Ist '/ images' ein Ordner auf der Festplatte Ihres Servers? Wenn es sich um einen URL-Pfad handelt, erkennt das 'fs'-Modul diese nicht. Sie müssen bestimmen, mit welchem ​​Pfad der URL-Pfad übereinstimmt und stellen Sie dies 'fs.unlinkSync()' zur Verfügung. –

+0

Bitte debuggen ein wenig auf eigene Faust, scheint wie ein ziemlich offensichtlich Problem –

+0

Ich habe die Frage aktualisiert. In der Tat existiert die Datei im Pfad, der Fehler bleibt jedoch bestehen. –

Antwort

0

es scheint Datei, die Sie fs.unlinkSync() weitergegeben existiert nicht sicherstellen, dass Sie diese Datei

/images/uploadedImages/70c9c2c4-74de-41c1-b096-c403b749a1a9.png

dann wird es funktionieren.

+0

Die Datei existiert im angegebenen Pfad, deshalb kann ich den Grund für diesen Fehler nicht verstehen. –

0

Das Problem herausgefunden. Das Sailsjs-Framework beginnt nicht mit der Suche nach einem Pfad innerhalb des Assets-Ordners.

Das Ändern des Pfads von - /images/uploadedImages/70c9c2c4-74de-41c1-b096-c403b749a1a9.png zu ./assets/images/uploadedImages/70c9c2c4-74de-41c1-b096-c403b749a1a9.png löst das Problem.

Verwandte Themen