2009-03-03 2 views
0

Я использую DotNetZip и заметил, что у меня возникают проблемы с разрешением на Mac. Это происходит, только когда я использую контент.DotNetZip: создание zip с разрешениями на C#

т.е. если я просто сохранить его на диск

using (ZipFile zip = new ZipFile(@"C:\zip\temp.zip")) 
{ 
    // this works fine 
} 

, но если я использую расположение контента, как это так, на макинтоше право доступа пользователей, отвергается (все группы сняты)

Response.ContentType = "application/zip"; 
Response.AddHeader("content-disposition", "filename=" + filename); 

using (ZipFile zip = new ZipFile(Response.OutputStream)) 
{ 
    // 
} 

ответ

1

Вы можете попробовать изменить ApplicationType на "application/octet-stream". Верьте или нет, что у меня есть проблемы. В любом случае, это стоит того.

Самый большой вопрос в том, как запрашивается файл со стороны Mac? Если это веб-сервер Windows, предлагающий этот файл, Windows не может устанавливать разрешения на стороне клиента. Если это веб-браузер (Safari/Firefox), они, вероятно, просто работают по умолчанию. Знание того, что запрашивает файл с Mac, может помочь получить правильный ответ.

0

Там может это несколько причин для этого, но я предполагаю, что в маке есть ошибка. Находясь на Mac, я предполагаю, что вы используете моно, чтобы связаться с группой Mono и посмотреть, что они скажут. Также у них есть неплохие forum, что они говорят.

И, наконец, если вы получаете ошибки с использованием «content-disposition», тогда не используйте «content-disposition» и используйте способ его работы.

+0

спасибо, я должен уточнить, что почтовый индекс создается на моем веб-сервере Windows. Эта проблема возникает, когда они загружаются пользователями Mac. – frosty

0

Я не знаю, имеет ли он какое-либо отношение к DotNetZip, но теперь есть более поздняя версия библиотеки - v1.7. Он шифрует AES, ZIP64, кучу других вещей. И версия v1.8 имеет некоторые новые интересные функции Seelctor, а также замену GZipStream.

Смежные вопросы