2011-01-27 12 views
6

Qualcun altro ha visto questo?Rails with paperclip Docx content_type sta tornando come applicazione/zip

Utilizzo la rotaia 3 con graffetta, quando carico un file .doc funziona perfettamente con l'applicazione/msword ma quando carico un file .docx il content_type viene salvato come applicazione/zip.

pensieri?

+0

Non sono sicuro al 100%, ma credo che .docx sia in realtà un file zip contenente un mucchio di file XML; quindi tecnicamente, è corretto che si tratta di un file zip! –

+0

@Stephen, grazie, è interessante. Qualche idea su se è possibile convertire un docx in un documento per scopi di anteprima? – AnApprentice

+0

Non ho idea - immagino che sarebbe possibile, ma a seconda di come sia necessario avere l'anteprima, potresti essere in grado di trovare un parser docx che può aiutarti? –

risposta

5

Ironia della sorte, IE può avere difficoltà a riconoscere i nuovi file di MS Office mentre altri browser li riconoscono bene.

Per poter utilizzare IE con questi file è necessario aggiungere i tipi di mime alla configurazione del server. In Rails questo viene fatto in config/inizializzatori/mime_types.rb

Mime::Type.register "application/vnd.openxmlformats-officedocument.wordprocessingml.document", :docx 
Mime::Type.register "application/vnd.openxmlformats-officedocument.presentationml.presentation", :pptx 
Mime::Type.register "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", :xlsx 

Se la vostra applicazione è proxy attraverso Apache e Apache serve le risorse statiche si dovrà anche configurare Apache con i nuovi tipi MIME (e riavvio) come da http://bignosebird.com/apache/a1.shtml

I miei tipi di mime erano localizzati in /etc/mime.types ma provate locate mime.types se non siete sicuri.

Problemi correlati