attachment_fu图片上传“Size is not included” 问题的解决

本文介绍了一种解决Attachment_fu在图片上传过程中遇到的“Sizeisnotincluded”错误的方法。通过修改attachment_fu.rb文件中的uploaded_data=(file_data)方法及set_size_from_temp_path方法,实现了正确获取上传文件的大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在用attachment_fu 实现图片上传时,出现了 “ Size is not included ” 问题,找了好久终于找到了解决方法。

不知道是不是最好的方法,但是很好用,具体操作如下

进入attachment_fu 文件夹修改attachment_fu.rb 文件

1.将 uploaded_data=(file_data) 方法修改为

 

def uploaded_data=(file_data)
        return nil if file_data.nil? || file_data.size == 0
       #下一行为增加的代码
        self.size = file_data.size
        self.content_type = file_data.content_type
        self.filename = file_data.original_filename if respond_to?(:filename)
        if file_data.is_a?(StringIO)
          file_data.rewind
          self.temp_data = file_data.read
        else
          self.temp_path = file_data.path
        end     
      end

 

 2.修改文件下部protected部分的 set_size_from_temp_path 方法

 def set_size_from_temp_path
          self.size = File.size(temp_path) if save_attachment? && (self.size == 0 || self.size.nil?)
 end
 

修改之后再重启服务器即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值