【发布时间】:2018-12-05 14:08:13
【问题描述】:
我正在使用 Libreconv gem 将 word 转换为 doc,但它不适用于 S3
bucket = Aws::S3::Bucket.new('bucket-name')
object = bucket.object file.attachment.blob.key
path = object.presigned_url(:get)
Libreconv.convert(path, "public/test.pdf")
如果我尝试使用 Libreconv 将此路径转换为 PDF,则会出现文件名太长的错误。我在 ActiveJobs 下编写了这段代码。请根据 ActiveJobs 为我提供解决方案。
有人可以建议我如何将word文件转换为pdf。
这里的路径是https://domain.s3.amazonaws.com/Bf5qPUP3znZGCHCcTWHcR5Nn?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIZ6RZ7J425ORVUYQ%2F20181206%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20181206T051240Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=b89c47a324b2aa423bf64dfb343e3b3c90dce9b54fa9fe1bc4efa9c248e912f9
我得到的错误是
Error: source file could not be loaded
*** Errno::ENAMETOOLONG Exception: File name too long @ rb_sysopen - /tmp/Bf5qPUP3znZGCHCcTWHcR5Nn?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIZ6RZ7J425ORVUYQ%2F20181206%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20181206T051240Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=b89c47a324b2aa423bf64dfb343e3b3c90dce9b54fa9fe1bc4efa9c248e912f9.pd
【问题讨论】:
-
path中有什么内容? -
我已经更新了我的描述
标签: ruby-on-rails amazon-s3 rails-activejob rails-activestorage ruby-on-rails-5.2