سؤال

وأستخدمه DotNetZip ولقد لاحظت أن أنا على الحصول على إذن القضايا على ماك. ويبدو أن هذا يحدث فقط عندما استخدم التصرف المحتوى.

وأي إذا أنا فقط حفظها على القرص

using (ZipFile zip = new ZipFile(@"C:\zip\temp.zip"))
{
   // this works fine
}

ولكن إذا كنت تستخدم التصرف المحتوى مثل ذلك، لجنة الهدنة العسكرية يحرم أذونات المستخدم (مجموعة الجميع هي مطلقة)

Response.ContentType = "application/zip";
Response.AddHeader("content-disposition", "filename=" + filename);

using (ZipFile zip = new ZipFile(Response.OutputStream))
{
    // 
}
هل كانت مفيدة؟

المحلول

هل يمكن أن تحاول تغيير ApplicationType إلى "التطبيق / الثماني تيار". صدقوا أو لا تصدقوا أن حددت المشاكل بالنسبة لي من قبل. ومن الجدير تسديدة على أي حال.

وهو كيف هو ملف يتم طلب السؤال الأكبر من الجانب ماك؟ إذا كان خادم الويب ويندوز تقديم ما يصل الملف، ويندوز لا يمكن تعيين الأذونات على جانب العميل. اذا كان متصفح الإنترنت (سفاري / فايرفوكس) انهم ربما فقط تعمل على الإعدادات الافتراضية. حتى معرفة ما يطلب الملف من ماك يمكن أن تساعد في الحصول على الجواب الصحيح.

نصائح أخرى

ويمكن أن تكون هناك عدة أسباب لذلك ولكن تخميني أن يكون أن هناك خطأ في الإطار على لجنة الهدنة العسكرية. يجري على ماك أفترض أنك تستخدم أحادية ذلك اتصل بمجموعة مونو ونرى ما لديهم ليقولوه. أيضا لديهم نرى ما لديهم ليقولوه.

وأخيرا إذا كان لديك الحصول على الأخطاء باستخدام "محتوى التصرف"، ثم لا تستخدم "المحتوى التصرف"، واستخدام الطريقة التي يعمل بها.

وأنا لا أعرف إذا كان لديه أي علاقة مع DotNetZip، ولكن هناك إصدار أحدث من المكتبة من الآن - V1.7. وهو يفعل AES التشفير، ZIP64، وحفنة من الأشياء الأخرى. والنسخة v1.8 لديه بعض الميزات Seelctor باردة جديدة، فضلا عن بديل لGZipStream.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top