簡體   English   中英

DotNetZip:使用C#權限問題創建zip

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM