Библиотека DotNetZip "Доступ к пути запрещен" - PullRequest
3 голосов
/ 10 ноября 2011

Я пытаюсь создать zip-файл и сохранить его с помощью библиотеки DotNetZip в приложении ASP.NET.Но по какой-то причине я получаю

Доступ к пути запрещен

ошибка, когда я пытаюсь сохранить его.

Я изменил TempFileFolder в другую папку и дали разрешения на нее.Все еще не повезло.

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

Я нашел вопрос , но ответ мне не помог.

Из приведенного выше вопроса один ответ упомянул:

Кроме того, в вашем примере tempFilePath не указан полный путь, может быть, он пытается сохранить ZIP-файл в папку, отличную от той, которую вы ожидаете (и которой назначены разрешения)?

Как выяснить, в какую папку он пытается сохранить, хотя я упомянул TempFileFolder как D:\temp\?

Есть мысли?

1 Ответ

3 голосов
/ 10 ноября 2011

Поскольку вы сказали, что «дали разрешения», я предполагаю, что вы предоставили учетные записи, которые запускают разрешения на чтение / запись файла процессов ASP.NET и IIS для папки, в которой вы пытаетесь сохранить этот файл.

«Папка временных файлов» - это то, что описывает ее имя: папка временных файлов. Это временное хранилище на случай, если библиотеке понадобится выполнить какой-либо файловый ввод-вывод. это не базовый файл.

Измените код, указав полное имя пути для сохранения файла:

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