代码之家  ›  专栏  ›  技术社区  ›  Steven Aguilar

rails中公共目录中的文件-errno::enoent(没有这样的文件或目录@rb_sysopen

  •  0
  • Steven Aguilar  · 技术社区  · 7 年前

    我目前正在使用 combine pdf 宝石。我试图合并两个pdf文件,但不知何故无法从 public 目录。

    在控制器中,我有以下方法:

    def pdf_download
      pdf = CombinePDF.new
      pdf << CombinePDF.load("#{Rails.root}/public/pdfs/1.pdf") 
      pdf << CombinePDF.load("#{Rails.root}/public/pdfs/1.pdf")
      pdf.save "combined.pdf"
    
      send_data combined_file.to_pdf, filename: "combined.pdf", type: "application/pdf"
    end
    

    我在stackoverflow上尝试了很多帖子,但都没有成功,比如 Rails.root . 但我还是犯了同样的错误:

    Errno::ENOENT (No such file or directory @ rb_sysopen - app/public/pdfs/1.pdf):
    

    有没有其他配置需要我从 公众的 ?如果这些pdf文件不应该在 公众的 我应该把它们放在哪里?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Steven Aguilar    7 年前

    这帮我解决了:

      def pdf_download
        pdf = CombinePDF.new
        pdf << CombinePDF.load(Rails.root.join("public", "pdfs/1.pdf").to_s)
        pdf << CombinePDF.load(Rails.root.join("public", "pdfs/2.pdf").to_s)
        # pdf.save "combined.pdf"
    
        send_data pdf.to_pdf, filename: "combined.pdf", type: "application/pdf"
      end
    
        2
  •  0
  •   PepeGomez    6 年前

    这帮我解决了:

    pdf << CombinePDF.load("./public/pdfs/1.pdf")
    
    推荐文章