-1

我不知道如何使用 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"

以及控制器中的方法,

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

4

1 回答 1

0

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

于 2016-02-06T00:36:57.413 回答