2009-03-03 2 views
0

DotNetZip을 사용하고 있는데 Mac에서 사용 권한 문제가 발생하는 것으로 나타났습니다. 이것은 콘텐츠 처리를 사용할 때만 발생하는 것으로 보입니다.DotNetZip : C# 권한으로 zip 만들기 문제

난 그냥 디스크에 저장하는 경우 즉,

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)) 
{ 
    // 
} 

답변

1

ApplicationType을 "application/octet-stream"으로 변경할 수 있습니다. 그것을 믿든지 그 문제는 전에 고정되어 있습니다. 그것은 어쨌든 한 발의 가치가 있습니다.

가장 큰 질문은 Mac 측에서 파일을 요청하는 방법입니다. 파일을 제공하는 Windows 웹 서버 인 경우 Windows는 클라이언트 측에서 사용 권한을 설정할 수 없습니다. 웹 브라우저 (Safari/Firefox)의 경우 기본 설정에서 실행 중일 수 있습니다. 따라서 Mac에서 파일을 요청하는 것이 무엇인지 알면 올바른 대답을 얻을 수 있습니다.

0

이가 할 수 이것에 대한 몇 가지 이유가 있지만 내 생각 엔 mac의 프레임 워크에 버그가 있다는 것입니다. Mac에서 나는 모노를 사용하고 있다고 가정하므로 Mono 그룹에 연락하여 그들이 무엇을 말하고 있는지보십시오. 또한 그들은 상당히 좋은 forum을보아야합니다.

마지막으로 "content-disposition"을 사용하여 오류가 발생하면 "content-disposition"을 사용하지 말고 작동 방식을 사용하십시오.

+0

감사합니다. zip이 내 Windows 웹 서버에서 생성되었음을 분명히해야합니다. 이 문제는 Mac 사용자가 다운로드 할 때 발생합니다. – frosty

0

DotNetZip과 관련이 있는지 알 수 없지만 v1.7 이상인 라이브러리의 최신 버전이 있습니다. 그것은 AES 암호화, ZIP64, 다른 것들을 잔뜩 않습니다. 그리고 v1.8 버전에는 새로운 멋진 Seelctor 기능과 GZipStream을 대체했습니다.

관련 문제