Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在不触发InvalidAuthenticationToken的情况下,将图像从Android客户端发布到Rails服务器_Android_Ruby On Rails_Ruby_Post_Paperclip - Fatal编程技术网

在不触发InvalidAuthenticationToken的情况下,将图像从Android客户端发布到Rails服务器

在不触发InvalidAuthenticationToken的情况下,将图像从Android客户端发布到Rails服务器,android,ruby-on-rails,ruby,post,paperclip,Android,Ruby On Rails,Ruby,Post,Paperclip,我正在构建一个运行在rails服务器上的Android应用程序。起初,当我试图将简单字符串数据发布到服务器时,我遇到了InvalidAuthenticationToken问题,但意识到可以通过将内容类型设置为“json”绕过身份验证 下一步是尝试让上传个人资料图片正常工作。但是,当我尝试通过MultipartEntity帖子上传照片时,将内容类型设置为“json”会导致以下错误 StandardError(无效的JSON字符串): 但不设置内容类型会返回InvalidAuthentication

我正在构建一个运行在rails服务器上的Android应用程序。起初,当我试图将简单字符串数据发布到服务器时,我遇到了InvalidAuthenticationToken问题,但意识到可以通过将内容类型设置为“json”绕过身份验证

下一步是尝试让上传个人资料图片正常工作。但是,当我尝试通过MultipartEntity帖子上传照片时,将内容类型设置为“json”会导致以下错误

StandardError(无效的JSON字符串):

但不设置内容类型会返回InvalidAuthenticationToken异常。从外部Java客户机向rails服务器发布映像的正确方法是什么

ActionController::InvalidAuthenticationToken (ActionController::InvalidAuthenticationToken):


您可以对来自非web客户端的API非get调用禁用真实性检查。您可以在before过滤器中执行此操作

class ApiController < ApplicationController
  skip_before_filter :verify_authenticity_token

  def create
    #or whatever
  end
end
class ApiController
根据杰西的建议,我最终使用了

protect_from_forgery :except => :upload_avatar_pic

禁用真实性检查,但仅针对特定功能,因此浏览器请求的检查仍然有效。

Jesse Wolgamott解决了这个问题,但当我提交表单(更新、创建、显示)时,页面显示“您被重定向”消息。在此之前,页面已正确重定向。我正在使用rails 2.3.8。如何解决此问题?

谢谢,这很有效。但是,当请求来自实际浏览器时,这是否也会禁用检查?(我的rails服务器同时为android客户端和网站提供服务)
protect_from_forgery :except => :upload_avatar_pic