我正在使用DotNetZip,并注意到我在Mac上获得了许可问题。这似乎只发生在我使用内容处理时。
即如果我只是将其保存到磁盘
using (ZipFile zip = new ZipFile(@"C:\zip\temp.zip"))
{
// this works fine
}
但如果我使用这样的内容处理方式,则在mac上拒绝用户权限(取消选中所有组)
Response.ContentType = "application/zip";
Response.AddHeader("content-disposition", "filename=" + filename);
using (ZipFile zip = new ZipFile(Response.OutputStream))
{
//
}
答案 0 :(得分:1)
您可以尝试将ApplicationType更改为“application / octet-stream”。信不信由你以前解决了我的问题。无论如何,它值得一试。
最大的问题是如何从Mac方面请求文件?如果它是提供该文件的Windows Web服务器,则Windows无法在客户端设置权限。如果它是一个Web浏览器(Safari / Firefox),它们可能只是在默认设置上运行。因此,知道从Mac请求文件的内容可以帮助您找到正确的答案。
答案 1 :(得分:0)
这可能有几个原因,但我的猜测是mac上的框架中存在一个错误。在Mac上我假设你正在使用单声道,所以联系Mono小组,看看他们有什么要说的。他们还有一个相当不错的forum看看他们要说些什么。
最后,如果您使用“content-disposition”获取错误,请不要使用“content-disposition”,并使用它的工作方式。
答案 2 :(得分:0)
我不知道它是否与DotNetZip有关,但现在有一个更高版本的库 - v1.7。它做AES加密,ZIP64,其他一些东西。 v1.8版本有一些新的酷Seelctor功能,以及GZipStream的替代品。