【问题标题】:Can't upload captured picture from android device to RoR webapp using form无法使用表单将捕获的图片从 android 设备上传到 RoR webapp
【发布时间】:2014-12-19 06:13:26
【问题描述】:

编辑:问题已解决,我对此发表了评论。

最近我一直在尝试实现将图片上传到我的 RoR Web 应用程序的功能(只是基础知识,将图片本地存储在 app/public/uploads 下)。 我从http://guides.rubyonrails.org/form_helpers.html#uploading-files 的代码开始 一切似乎都运行良好,除非我上传了我刚刚用手机拍摄的照片。录制视频并立即上传就可以了。上传存储在手机中任何位置的图片都可以正常工作。

这是我的html代码:

<div align="center">
    <%= form_tag({controller: :static_pages, action: :upload}, multipart: true) do %>
        <%= file_field_tag 'picture' %>
        <%= submit_tag "Upload picture"%>
    <% end %>
</div> 

Form 创建一个简单的按钮(“浏览”)和旁边的文本,上面写着“未选择文件”或我选择的文件的名称。

这是我的控制器操作:

def upload

  if params[:picture].nil?
    redirect_to '/static_pages/error'
    return
  end

  uploaded_io = params[:picture]

  if File.open(Rails.root.join('public', 'uploads', uploaded_io.original_filename), 'wb') do |file|
    file.write(uploaded_io.read)
    end
  end

end

最后是路由:

 match 'static_pages/upload', to: 'static_pages#upload', via: 'post'

我已经进行了一些调试,在这种情况下似乎没有调用控制器操作 - 用相机拍照并立即上传。文件名每次都在“浏览”按钮旁边,即使我用相机拍摄,所以我猜照片在某处,但不知何故 static_pages#upload 没有被调用。 如果我选择我刚刚从文件中拍摄的图片,它会毫无问题地上传。 我做错了什么?

我是 RoR 和 HTML 初学者。

【问题讨论】:

    标签: android html forms ruby-on-rails-4 web-applications


    【解决方案1】:

    这似乎是一些奇怪的 Chrome 错误。今天我在多个设备上测试了它,奇怪的是只有我的手机以这种方式运行。我不知道这可能是浏览器相关的问题。 无论如何,希望这篇文章对某人有所帮助,显然我应该考虑尝试在多个浏览器上测试我的应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-21
      • 1970-01-01
      • 2018-05-08
      • 1970-01-01
      • 2014-03-19
      • 1970-01-01
      • 2012-06-11
      • 2016-07-24
      相关资源
      最近更新 更多