2011-11-10 97 views
2

zipファイルを作成し、ASP.NETアプリケーションでDotNetZipライブラリを使用して保存しようとしています。 は、しかし、いくつかの理由のために私はそれを保存しようとすると、パスにDotNetZip library "パスへのアクセスが拒否されました"

アクセスが

エラーを拒否され得ます。

TempFileFolderを別のフォルダに変更し、そのアクセス許可を与えました。まだ運がありません。

Dim zipFile As New ZipFile() 
zipFile.AddFile(filePath) 
Dim tempFilePath As String = "Report.zip" 
zipFile.TempFileFolder = "D:\Temp\" 
zipFile.Save(tempFilePath); 

私はa questionを見つけましたが、答えは私を助けていませんでした。上記の質問から

は、1つの答えは言及:

また、あなたの例ではtempFilePathはそれとは異なるフォルダにZIPを保存しようとされている可能性があり、完全なパスが含まれていません。あなたが期待している(そして許可を割り当てている)人ですか?

TempFileFolderD:\temp\と言っても、どのフォルダに保存しようとしているのかわかりませんか?

どのような考えですか?

答えて

3

あなたは「アクセス許可を与えました」と言いましたので、私はあなたがこのファイルを保存しようとしているフォルダにASP.NETとIISプロセスファイルの読み取り/書き込み権限を実行するアカウントを提供したと仮定しています。

「Temp File Folder」は、その名前が表すもので、一時ファイルフォルダです。図書館がファイルI/Oを行う必要がある場合のための場所です。それは基本ファイルではありません。それは働いていた

Dim zipFile As New ZipFile() 
zipFile.AddFile(filePath) 
Dim tempFilePath As String = "D:\Temp\Report.zip" 
zipFile.TempFileFolder = "D:\Temp\" 
zipFile.Save(tempFilePath) 
+0

はにファイルを保存するには、完全修飾パス名を提供するために、コードを変更します。ありがとうございました! – Naveen