ทำไมการดาวน์โหลด docx, xlsx, pptx จากเว็บเซิร์ฟเวอร์เป็นไฟล์ zip


36

บนเซิร์ฟเวอร์ Apache ฉันเก็บ docx หลายไฟล์ xlsx pptx ไว้

เบราว์เซอร์ไคลเอนต์บางคนคิดว่าสิ่งเหล่านี้เป็นไฟล์ซิปปกติและเปลี่ยนนามสกุลไฟล์เมื่อดาวน์โหลด ฉันจะทำให้มันไม่ทำอย่างนั้นได้อีกแล้ว

(ใช้เซิร์ฟเวอร์ Ubuntu)


ประเภทไฟล์เหล่านี้ทำงานได้ดีกับ IE9 โดยไม่ต้องทำการเปลี่ยนแปลงใด ๆ กับ htaccess, httpd.conf เป็นต้น

คำตอบ:


34

ไฟล์เป็นไฟล์ ZIP ของเอกสาร XML เพิ่มสิ่งนี้ลงใน. htaccess ของคุณใน Apache

AddType application/vnd.ms-word.document.macroEnabled.12 docm
AddType application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
AddType application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx
AddType application/vnd.ms-powerpoint.template.macroEnabled.12 potm
AddType application/vnd.openxmlformats-officedocument.presentationml.template potx
AddType application/vnd.ms-powerpoint.addin.macroEnabled.12 ppam
AddType application/vnd.ms-powerpoint.slideshow.macroEnabled.12 ppsm
AddType application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx
AddType application/vnd.ms-powerpoint.presentation.macroEnabled.12 pptm
AddType application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
AddType application/vnd.ms-excel.addin.macroEnabled.12 xlam
AddType application/vnd.ms-excel.sheet.binary.macroEnabled.12 xlsb
AddType application/vnd.ms-excel.sheet.macroEnabled.12 xlsm
AddType application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx
AddType application/vnd.ms-excel.template.macroEnabled.12 xltm
AddType application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx

ฉันมีปัญหาเดียวกันและเพิ่มสิ่งนี้ลงใน. htaccess แต่สิ่งเดียวกันยังคงเกิดขึ้นใน IE (แม้หลังจากลบแคช) คุณต้องรีสตาร์ท Apache เพื่อให้สิ่งนี้มีผลหรือไม่
supertrue

14

เซิร์ฟเวอร์ไม่มีประเภท mime ที่เหมาะสมติดตั้งสำหรับไฟล์ ms ใหม่

เพิ่มสิ่งต่อไปนี้ในไฟล์ /etc/mime.types และรีสตาร์ท apache และปัญหาควรได้รับการแก้ไข

# Added by myname 2009-06-03
application/vnd.ms-word.document.macroEnabled.12                        docm
application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx
application/vnd.ms-powerpoint.template.macroEnabled.12                  potm
application/vnd.openxmlformats-officedocument.presentationml.template   potx
application/vnd.ms-powerpoint.addin.macroEnabled.12                     ppam
application/vnd.ms-powerpoint.slideshow.macroEnabled.12                 ppsm    
application/vnd.openxmlformats-officedocument.presentationml.slideshow  ppsx
application/vnd.ms-powerpoint.presentation.macroEnabled.12              pptm
application/vnd.openxmlformats-officedocument.presentationml.presentation       pptx
application/vnd.ms-excel.addin.macroEnabled.12                          xlam
application/vnd.ms-excel.sheet.binary.macroEnabled.12                   xlsb
application/vnd.ms-excel.sheet.macroEnabled.12                          xlsm
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet       xlsx    
application/vnd.ms-excel.template.macroEnabled.12                       xltm    
application/vnd.openxmlformats-officedocument.spreadsheetml.template    xltx

http://www.webdeveloper.com/forum/showthread.php?t=162526มีข้อมูลเกี่ยวกับปัญหานี้


เนื่องจากนี่เป็นเซิร์ฟเวอร์ของฉันและฉันสามารถเข้าถึง /etc/mime.types นี่เป็นคำตอบที่ดีที่สุดสำหรับฉัน
daveilers

บน windows เส้นทางอาจเป็นสิ่งที่ต้องการ <install dir for apache> \ apache \ conf \ mime.types
AJ

มันไม่ทำงานกับ Apache2.4
rasanga


1

ฉันมีการควบคุมดูแลโดยรวมทั้งเซิร์ฟเวอร์และเครื่องไคลเอนต์ที่เกี่ยวข้องกับปัญหานี้และไม่มีวิธีแก้ไขปัญหาที่เสนอเหล่านี้ทำงานเพื่อแก้ไขปัญหานี้

ในที่สุดสิ่งเดียวที่แก้ไขปัญหานี้ให้ฉันคือ ....

1) ถอนการติดตั้ง 7-Zip (ดังนั้นเบราว์เซอร์จึงไม่เกี่ยวข้องกับไฟล์ zip)

2) (ไม่แน่ใจว่าจำเป็นต้องทำตามขั้นตอนนี้หรือไม่) แต่จากนั้นฉันดาวน์โหลด DOCX อีกครั้ง (โดยบังเอิญมันยังถูกแสดงเป็นไฟล์ ZIP) แต่คราวนี้ฉันได้รับแจ้งให้เปิดแอปพลิเคชันด้วยและ ฉันเลือก MSWORD ฉันไม่เลือก "เปิดด้วย MSWORD เสมอ" เพราะฉันไม่ต้องการให้ MSWORD เปิดไฟล์ ZIP เสมอ

3) ติดตั้งใหม่ 7-Zip

หลังจากนี้ความพยายามที่ตามมาทั้งหมดในการดาวน์โหลด DOCX จริง ๆ แล้วส่งผลให้ไฟล์ DOCX ถูกดาวน์โหลดและเปิดด้วยแอปพลิเคชัน MSWORD ที่เหมาะสม

หมายเหตุ: ก่อนที่คุณจะข้ามไปสู่ข้อสรุปที่ว่าฉันมีความสัมพันธ์ของไฟล์ที่ไม่สมบูรณ์ให้ฉันยืนยันว่าเมื่อปัญหานี้เกิดขึ้นฉันสามารถดับเบิลคลิกที่ DOCX ใด ๆ ใน explorer และ MSWORD จะเปิดมันเสมอ ปัญหานี้เกิดขึ้นเสมอและเกิดขึ้นเมื่อพยายามดาวน์โหลด / เปิด DOCX ด้วย IE8 เท่านั้น FF4 และ Chrome ทำงานได้อย่างไร้ที่ติ ฉันพยายามเพิ่มประเภท MIME ที่เหมาะสมให้กับ / etc / mime-types และ. htaccess ทางฝั่งเซิร์ฟเวอร์ ฉันยังลองปิดการใช้งาน "เปิดไฟล์ตามเนื้อหาไม่ใช่นามสกุลไฟล์" (แต่สิ่งนี้ทำให้เบราว์เซอร์เปิด DOCX เป็นข้อความ ASCII ที่อ่านไม่ได้) ตั้งค่า FEATURE_MIME_ * รีจิสตรีคีย์เป็น "0" และเพิ่ม URL เซิร์ฟเวอร์ไปยัง รายการ "ไซต์ที่เชื่อถือได้" อีกครั้งไม่มีปัญหาทางตรรกะอย่างเห็นได้ชัดสำหรับฉัน


อาจเป็นไปได้ที่การเชื่อมโยงบนเดสก์ท็อปของคุณสำหรับไฟล์. docx ในระบบจะถูกต้องในขณะที่ยังไม่ตรงกับไฟล์ application / vnd.openxmlformats-officedocument.wordprocessingml.document จากเว็บเซิร์ฟเวอร์ ตรวจสอบค่ารีจิสตรี HKCR \ .docx \ ContentType
James

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.