1

Ich erstelle eine PDF-Datei mit WickedPdf.new.pdf_from_string. Die Datei selbst wird ordnungsgemäß erstellt, wenn sie auf der Festplatte gespeichert und geöffnet wird.Rails send_file/send_data sendet PDF-Datei ohne Inhalt

Aber wenn die gleiche Datei über send_data gesendet wird, lädt der Browser die Datei mit Seiten wie generierte Datei, aber ohne Text/Inhalt darin. Alle Seiten sind leer. Hier ist Code-Schnipsel

send_data File.open(pdf_file.path, 'rb').read, type: 'application/pdf', filename: 'abc.pdf' 

ich auch versucht haben, send_file ohne Erfolg.

Umwelt vars

Rails Version: 4.2.8 
Ruby Version: 2.3.3 
WickedPdf Ver: 1.1.0 

Antwort

0

ich nicht in der Lage war Ihr Problem in the wicked_pdf_issues project in this commit

Dieser Code-Downloads und zeigt ganz gut zu reproduzieren:

respond_to do |format| 
    format.pdf do 
    pdf = WickedPdf.new.pdf_from_string('<html><head><title>foo</title></head><body><h1>This is a PDF</h1></body></html>') 
    Tempfile.create do |t| 
     t.binmode 
     t.write(pdf) 
     t.rewind 
     t.close 
     send_data File.open(t.path, 'rb').read, type: 'application/pdf', filename: 'abc.pdf' 
    end 
    end 
end 

Sie sehen das Ergebnis von going here and clicking the download PDF link.