0

我正在使用 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))
{
    // 
}
4

3 回答 3

1

您可以尝试将 ApplicationType 更改为“application/octet-stream”。信不信由你,这对我来说已经解决了问题。无论如何都值得一试。

最大的问题是如何从 Mac 端请求文件?如果它是提供文件的 Windows Web 服务器,则 Windows 无法在客户端设置权限。如果它是网络浏览器(Safari/Firefox),它们可能只是在默认设置下运行。因此,了解从 Mac 请求文件的内容可能有助于获得正确的答案。

于 2009-07-24T05:06:56.700 回答
0

这可能有几个原因,但我的猜测是mac上的框架中有一个错误。在 Mac 上,我假设您使用的是单声道,因此请联系 Mono 组,看看他们要说什么。他们也有一个相当不错的论坛,看看他们要说什么。

最后,如果您使用“content-disposition”遇到错误,请不要使用“content-disposition”,并使用它的工作方式。

于 2009-03-03T16:11:11.910 回答
0

我不知道它是否与 DotNetZip 有任何关系,但现在有更高版本的库 - v1.7。它进行 AES 加密、ZIP64 和其他一堆东西。v1.8 版本具有一些新的酷炫 Seelctor 功能,以及 GZipStream 的替代品。

于 2009-03-05T05:35:12.200 回答