【问题标题】:save image with ajax in ruby on rails在 ruby​​ on rails 中使用 ajax 保存图像
【发布时间】:2016-02-06 00:22:36
【问题描述】:

我不知道如何使用 Ruby on rails 在 AJAX 中保存图像,这是我在 github 中的存储库,github.com/luis77/EdiTor22 请检查一下,我已经尝试了 2 天,但我不知道怎么了。例如,查看附件/新这里是带有ajax代码的javascript代码:

 <script>
    var canvas = document.createElement('canvas');
    var context = canvas.getContext('2d');
    var centerX = canvas.width / 2;
    var centerY = canvas.height / 2;
    var radius = 70;

    context.beginPath();
    context.arc(centerX, centerY, radius, 0, 2 * Math.PI, false);
    context.fillStyle = 'green';
    context.fill();
    context.lineWidth = 5;
    context.strokeStyle = '#003300';
    context.stroke();

    document.body.appendChild(canvas)


    var dataURL =  canvas.toDataURL('image/png');




   // Convert dataURL to Blob object
      function dataURLtoBlob(dataURL) {
    // Decode the dataURL    
    var binary = atob(dataURL.split(',')[1]);
    // Create 8-bit unsigned array
    var array = [];
    for(var i = 0; i < binary.length; i++) {
        array.push(binary.charCodeAt(i));
       }
    // Return our Blob object
    return new Blob([new Uint8Array(array)], {type: 'image/png'});
      }




       // Get our file
      var file= dataURLtoBlob(dataURL);
      // Create new form data
      var fd = new FormData();
     // Append our Canvas image file to the form data
      fd.append("image", file);
      // And send it
      $.ajax({
         url: "/attachments/change2",
         type: "POST",
         data: fd,
         processData: false,
         contentType: false,
      });




    </script>

它在路线中指定:

  post "attachments/change2"

以及控制器中的方法,

但不会保存,我需要有关此代码的帮助,请帮助。

【问题讨论】:

    标签: javascript ruby-on-rails ajax ruby-on-rails-4 camanjs


    【解决方案1】:

    假设您的 JavaScript 代码是正确的,并且发布数据正确地发送到服务器,我可能会使用 CarrierWavePaperClip 之类的东西来处理您的文件上传。

    【讨论】:

    • 我正在尝试使用 camanjs 保存由画布创建的图像,而不是由我上传的。 ¿ 我可以用回形针保存该图像吗?
    • stackoverflow.com/questions/19032406/… 这会帮你解决这个问题!
    • 那么是的,回形针或 cw 将完成业务。
    • 我正在使用carrierwave,但我不知道如何通过ajax 保存该图像base64。请我需要你的帮助:S
    • 我一直在尝试但没有任何效果
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-06
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多