ユーザーが画像をアップロードできるWebサイトを開発しています。画像を FTP フォルダー (db ではなく) に保存し、その詳細をデータベース (ファイル名、パスなど) に保存しています。
localhost で作業しているときに、次のコードが問題なく動作することに気付きました。エラーは発生しません。しかし、サーバーにアップロードすると(Windowsホスティングプランで)、ファイルが削除されず、次のエラーが表示されます:cannot delete the file because it is used by another process.
ディレクトリに適切なファイル権限があることを確認しましたが、それでも削除されません。奇妙なことに、FTP クライアントを使用して手動で削除すると、ファイルがロックされ、そこから削除できなくなります。そのためには、アプリ プールをリサイクルする必要があります。
ファイルへの完全なパスがある場合に、Windows ベースのサーバーからファイルを削除する最良の方法を探しています。
ローカルホストで使用したコードは次のとおりです (サーバーにアップロードすると、残りのコードが壊れます)。
if (File.Exists(path))
{
File.Delete(path);
}
ありがとうございました。