保存图像时出现Ruby中的IOError(关闭流)

摇杆

在这里,我尝试使用ajax将图像保存在mysql数据库中,但是每次上传图像失败时,请帮我解决这个问题。

Controller.rb

def image_converter
        sub = TestimonialPicture.new
        decoded_file = Base64.decode64(params[:picdata]) unless params[:picdata].nil?
        if request.post?
          begin
            tmpfilename = "#{params[:id]}#{Time.now.to_i.to_s}"
            file = Tempfile.new([tmpfilename, '.jpg'])  
            file.binmode
            file.write decoded_file
            file.close
            sub.testimonialpic = file
            if sub.save
              sub.update_attributes(:testimonial_id => params[:tid])
              msg = "YOur image has been successfully uploaded"
            else
              msg = "Failed to create submission. Please try again"
            end
          ensure
            file.unlink
          end
          render :text=>msg
        end
      end

我创建的图像我要将该图像转换为画布并单击保存按钮,通过执行两个功能来保存图像,使用该控制器可以获取图像但无法存储到数据库。

view.html.erb

$(document).ready(function(){
    var element = $("#bgcolor"); // global variable
    var getCanvas; // global variable

    $("#save_btn").on('click', function () {
         html2canvas(element, {
         onrendered: function (canvas) {
                $("#previewImage").append(canvas);
                getCanvas = canvas;
             }
         });
    });

    $("#btn-Convert-Html2Image").on('click', function () {
      $("#popDiv").hide();
      var picdata = getCanvas.toDataURL("image/png");
      var pic = picdata.replace(/^data:image\/(png|jpg);base64,/, ""); 
        var tid = $("#tid").val();
        $.ajax({ 
          url: "/businessdb/image_converter",
          type: "POST",
          data: {"pic" : pic, "tid" : tid},
          dataType: "json",
          success: function(data) {
            location.reload();
            alert("success");
          }
        });
    });

每次我收到类似IOError的错误时(关闭流)

我需要通过单击保存按钮将图片保存到mysqldatabase中

天空

有问题的线是

file.close
sub.testimonialpic = file

mysql2尝试将an保存IO到BLOB列时,IO必须将其打开才能读取。您只是在保存文件之前显式关闭了该文件(是IO)。

解决方法是

file.rewind
sub.testimonialpic = file

并在编辑ensure之前块中关闭该文件unlink

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

保存时出现黑色图像?

来自分类Dev

保存时出现黑色图像?

来自分类Dev

尝试从流创建图像时出现 ArgumentException

来自分类Dev

关闭Tkinter窗口时出现图像问题

来自分类Dev

关闭Mongo GridFS文件流时出现WriteConcernException

来自分类Dev

保存图像序列时出现内存警告

来自分类Dev

尝试在Ruby中关闭文件时出现“未定义的方法'close'”

来自分类Dev

在anaconda python中保存动画文件时出现“ IOError:[Errno 32]管道损坏”

来自分类Dev

从流中检索图像时参数无效

来自分类Dev

在Windows Phone 8.1中保存图像文件时出现UnauthorizedAccessException

来自分类Dev

从内存中删除Get Controller时,如何关闭流?

来自分类Dev

将图像保存在AJAX JSON C#ASPNET中时自动关闭窗口浏览器

来自分类Dev

在PIL中打开base64字符串时出现奇怪的IOError

来自分类Dev

在WPF中处理图像时出现OutOfMemoryException

来自分类Dev

在Java中读取图像时出现IllegalArgumentException

来自分类Dev

保存裁切图像时出现奇怪的枕头异常

来自分类Dev

尝试使用PIL保存图像时出现IndexError

来自分类Dev

尝试使用PIL保存图像时出现IndexError

来自分类Dev

CreateView - 尝试保存图像上传时出现 TypeError

来自分类Dev

出现错误,例如在尝试下载单词时无法访问关闭的流

来自分类Dev

在 Corda 中,运行流时出现“意外任务状态”

来自分类Dev

从流中读取时出现NodeJs可读错误

来自分类Dev

套接字在写流中关闭,但在读时不关闭

来自分类Dev

在android中解码流时保留图像质量

来自分类Dev

尝试为rtsp流填充yuv图像时出现段错误

来自分类Dev

MS Word:删除图像并保存时,图像会重新出现

来自分类Dev

流中保存图像时,GDI +中发生一般错误

来自分类Dev

关闭CipherInputStream时出现RuntimeException

来自分类Dev

加载NLTK感知器标记器时出现IOError

Related 相关文章

  1. 1

    保存时出现黑色图像?

  2. 2

    保存时出现黑色图像?

  3. 3

    尝试从流创建图像时出现 ArgumentException

  4. 4

    关闭Tkinter窗口时出现图像问题

  5. 5

    关闭Mongo GridFS文件流时出现WriteConcernException

  6. 6

    保存图像序列时出现内存警告

  7. 7

    尝试在Ruby中关闭文件时出现“未定义的方法'close'”

  8. 8

    在anaconda python中保存动画文件时出现“ IOError:[Errno 32]管道损坏”

  9. 9

    从流中检索图像时参数无效

  10. 10

    在Windows Phone 8.1中保存图像文件时出现UnauthorizedAccessException

  11. 11

    从内存中删除Get Controller时,如何关闭流?

  12. 12

    将图像保存在AJAX JSON C#ASPNET中时自动关闭窗口浏览器

  13. 13

    在PIL中打开base64字符串时出现奇怪的IOError

  14. 14

    在WPF中处理图像时出现OutOfMemoryException

  15. 15

    在Java中读取图像时出现IllegalArgumentException

  16. 16

    保存裁切图像时出现奇怪的枕头异常

  17. 17

    尝试使用PIL保存图像时出现IndexError

  18. 18

    尝试使用PIL保存图像时出现IndexError

  19. 19

    CreateView - 尝试保存图像上传时出现 TypeError

  20. 20

    出现错误,例如在尝试下载单词时无法访问关闭的流

  21. 21

    在 Corda 中,运行流时出现“意外任务状态”

  22. 22

    从流中读取时出现NodeJs可读错误

  23. 23

    套接字在写流中关闭,但在读时不关闭

  24. 24

    在android中解码流时保留图像质量

  25. 25

    尝试为rtsp流填充yuv图像时出现段错误

  26. 26

    MS Word:删除图像并保存时,图像会重新出现

  27. 27

    流中保存图像时,GDI +中发生一般错误

  28. 28

    关闭CipherInputStream时出现RuntimeException

  29. 29

    加载NLTK感知器标记器时出现IOError

热门标签

归档