2016-05-22 6 views
1

私は、アソシエーションとデータベースを定期的に更新する必要があるプロジェクトに取り組んできました。私はファイルの削除に立ち往生しています。 fs.unlinkfsをこの目的で使用しましたが、何らかのエラーが発生します。sailsjsでファイルを削除するには?

コードスニペット -

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

をエラーログ -

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' 

またファイル70c9c2c4-74de-41C1-b096-c403b749a1a9.pngである、パス/画像/ uploadedImages /内に存在しますsailsjs構造のassetsフォルダ内にあります。

これを達成する方法はありませんか?

+0

ファイルが指定したパスに存在しません。 '/ images'はサーバのディスク上のフォルダですか? URLパスの場合、 'fs'モジュールはそれらを認識しません。 URLパスがどのディスクパスに対応しているかを判断し、 'fs.unlinkSync()'に渡す必要があります。 –

+0

あなた自身で最初に少しデバッグしてください。かなり明白な問題のようです。 –

+0

私は質問を更新しました。実際、ファイルはパスに存在しますが、エラーは残ります。 –

答えて

0

がこのファイルを持っていることを確認し、存在しません。あなたはfs.unlinkSync()に渡されたファイルを思わ

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

それは動作します。

+0

ファイルが指定されたパスに存在するため、このエラーの原因を理解できないのはこのためです。 –

0

問題を解明しました。 Sailsjsフレームワークは、自身の資産フォルダ内のパスの検索を開始しません。

- /images/uploadedImages/70c9c2c4-74de-41c1-b096-c403b749a1a9.pngから./assets/images/uploadedImages/70c9c2c4-74de-41c1-b096-c403b749a1a9.pngへのパスを変更することで問題は解決します。

関連する問題