在我的应用程序中,我有一个文件上传选项。上传的文件用于保存在DriveHQ ftp服务器中。上传后我想发送邮件给管理员,上传的文件作为附件。
我尝试如下
uri = URI::FTP.build(['username:password', 'ftp.drivehq.com', nil,"\\My Documents\\#{17}\\Fitness.txt", 'i'])
在邮件中:
attachments['image'] = {mime_type: 'text/plain',content: File.read(uri)}
但它不起作用。它返回错误
bad component(expected relative path component): \My Documents\17\Fitness.txt;type=i
答案 0 :(得分:0)
我猜您是以错误的方式使用API。
您需要下载该文件,是的,您可以通过为FTP服务器创建URI来实现,但是您需要将该文件下载到临时目录。
之后,在邮件程序中,您会阅读该文件。
请记住,因为File是IO
的子类,并且它没有read方法,所以当您调用File.read时,实际上是在调用IO.read
。