Domanda

Innanzitutto, un po 'di background, perché c'è molta interazione in corso: sto prendendo le e-mail tramite Fetcher e le sto elaborando usando MMS2R per estrarre gli allegati. Questi allegati saranno generalmente file PDF o documenti MS Word, quindi ti aspetteresti che il loro tipo di contenuto sia application / pdf e application / msword rispettivamente, ma sfortunatamente sembra che molti programmi di posta elettronica non lo facciano

Invece, gli allegati sono application / x-pdf e application / x-doc . Ho bisogno che questi siano impostati correttamente in modo che scribd-fu rispetti correttamente i documenti. Ora, mimetype-fu riuscirà a capire il giusto tipo di contenuto, ma per la mia vita, posso solo capire come impostare correttamente il tipo di contenuto dell'allegato con graffetta.

Ecco uno snippet del codice:

mms.process do |media_type, files|
  # go through each file
  files.each do |filename|
    # if it's a format we support, create a record
    if media_type =~ /pdf/  # just pdfs for now, to reduce confusion
      File.open(filename) do |tempfile| 
        # Somewhere in here I'd like to change filename.content_type
        # to the proper type using mimetype-fu
        # except doing tempfile.content_type = whatever doesn't seem to work.

        thing = Thing.new
        thing.document = tempfile
        thing.save!
      end
    end
  end
end

Qualsiasi aiuto sarebbe apprezzato, perché ho battuto la testa contro un muro provando ogni sorta di cose per cercare di farlo funzionare. Ho già provato questi link o senza successo o senza grokking, cosa bisogna fare:

Grazie mille!

È stato utile?

Soluzione

Puoi semplicemente

thing.document_content_type = whatever

o stai facendo il tuo scribd-fu in document = o qualcosa del genere?

scroll top