javascript - 如何在 rails 5.1.6 中使用 AJAX 上传图片

标签 javascript jquery ruby-on-rails

我正在使用 Rails 5.1.6 开发小型网站,上传图片时遇到了一些问题。我需要使用 AJAX 上传,我通过搜索谷歌找到了一些答案,但我还没有成功。我正在使用 Rails 5.1.6 并使用了包含 file_field 的 rails 表单标签。我想上传使用 AJAX 从文件浏览器中选择的图像。

最佳答案

//f.file_field in html.erb will be compiled to <input type='file'>
//you can construct FormData manually, param by param:
var fileInput = document.querySelector('form input[type=file]');
var attachment = fileInput.files[0];
var formData = new FormData(); 
formData.append('email', 'Your Email');
formData.append('attachment', attachment, 'filename.jpg');

//In jQuery you would send it like this:

      $.ajax({
        url: "/profile/upload_image",
        type: "POST",
        beforeSend: function(xhr) {xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'))},
        data: "data=" + formData,
        success: function(data) {
          ...
        }
      });

我也遇到过这种问题。 您可以使用 AJAX 将图像文件的信息发送到您的 rails API,然后您可以上传包含该信息的图像。 要通过 AJAX(例如,从 )上传文件,您需要将参数包装在 FormData 对象中。

关于javascript - 如何在 rails 5.1.6 中使用 AJAX 上传图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52940216/

相关文章:

javascript - 将 html 标签添加到 JSLint

javascript - AJAX 联系表单的 PHP 代码

javascript - jQuery:选择 `<td>` 中除特定 `<tr>` 之外的所有 `<td>`

ruby-on-rails - rails 上的 Ajax

ruby-on-rails - 在 rails 4 中显示语法错误

ruby-on-rails - routes.rb 中的成员

javascript - Golang Otto JS - 将主机对象公开给 JavaScript

javascript - 有没有办法使用数字类型作为对象键?

IE9 中 iframe 中的 JavaScript 代码不起作用

javascript - 从 html 页面中删除 javascript