[英]DotNetZip: creating zip with C# permissions issue
我正在使用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))
{
//
}
您可以嘗試將ApplicationType更改為“ application / octet-stream”。 信不信由你,以前對我來說已經解決了一些問題。 還是值得一試。
最大的問題是如何從Mac端請求文件? 如果是提供文件的Windows Web服務器,則Windows無法在客戶端設置權限。 如果是網絡瀏覽器(Safari / Firefox),則可能只是在默認設置下運行。 因此,了解從Mac請求文件的內容可能有助於獲得正確的答案。
可能有多種原因,但我的猜測是mac上的框架中存在錯誤。 在Mac上,我假設您正在使用Mono,因此請與Mono組聯系,看看他們怎么說。 他們也有一個相當不錯的論壇,看看他們怎么說。
最后,如果您在使用“ content-disposition”時遇到錯誤,請不要使用“ content-disposition”,並使用其工作方式。
我不知道它是否與DotNetZip有關,但是現在有一個更高版本的庫-v1.7。 它執行AES加密,ZIP64和許多其他功能。 v1.8版本具有一些新的炫酷Seelctor功能,並替代了GZipStream。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.