- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
"a-6ren">
我正在尝试向 API 发送图像和其他一些数据并获得响应的请求。那是我的代码:
file = "assets/images/test.jpg"
conn = Faraday.new(:url => "api_url" ) do |faraday|
faraday.request :multipart
end
payload = { :profile_pic => Faraday::UploadIO.new(file, 'image/jpeg') }
conn.post "/test", payload
我的第一个问题是我总是收到以下错误:
Errno::ENOENT (No such file or directory - assets/images/test.png)
我已经尝试了所有我能想到的路径。图像应该保存在法拉第找到的目录中的什么位置?
第二个问题是关于response,如何获取response并进行处理?
第三个是,我一直没明白上次调用的第一个参数有什么用:
conn.post "/hello", payload
我写了“/hello”,但不知道真正的用法是什么。
最后一个。我可以发送保存在变量中的原始图像而不是发送到法拉第的路径吗?
编辑
现在可以了,这是解决方案:请注意,url 必须只到 .com
,其余路径必须继续 conn.post
就像这个例子 /v1/search
.c.adapter :net_http
也是必需的。消息响应在 json 变量中正确处理。
解决方法:
url = 'http://url.com'
file = Rails.root.to_s + "/app/assets/images/test.jpg"
conn = Faraday.new(:url => url ) do |c|
c.request :multipart
c.adapter :net_http
end
payload = { :image => Faraday::UploadIO.new(file, 'image/jpeg'), :token => token}
response = conn.post '/v1/search', payload
json = JSON.parse response.body
最佳答案
你应该试试这个来回答你的第一个问题:
file = Rails.root.to_s + "/app/assets/images/test.jpg"
对于您的第三个问题,第一个参数允许您从基础“api_url”构建正确的 URL。请参阅 Readme 中的示例.
## POST ##
conn.post '/nigiri', { :name => 'Maguro' } # POST "name=maguro" to http://sushi.com/nigiri
关于ruby-on-rails - Rails - 使用 Faraday 发送图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20117196/
如果我运行来自法拉第的 HTTP 请求,而网络不可用(即在 wifi 环境中或离线工作),默认情况下有一些东西可以捕获此异常会很好: /Users/pmu/.rbenv/versions/1.9.3-
目前遇到一个问题,我的后台工作人员通过 elasticsearch-client 与 elasticsearch 通信时在 Faraday 内部遇到 SSL 错误。 错误是这样的: SSL_conne
我正在尝试向 API 发送图像和其他一些数据并获得响应的请求。那是我的代码: file = "assets/images/test.jpg" conn = Faraday.new(:url => "a
我正在尝试学习 Ruby/Faraday。我需要将 XML 发布到 RESTful Web 服务,但对如何执行此操作感到困惑。 我有一个包含如下 XML 的字符串: require "faraday"
为什么有人会使用 Faraday gem 而不是直接使用 Net::HTTP?使用这样的包装器有什么好处? 最佳答案 直接使用 Net::HTTP 适配器就可以了,它只是将您的代码绑定(bind)到一
使用 Faraday 时gem 为这样的图像点击 URL: http_conn = Faraday.new do |builder| builder.adapter Faraday.default
我的生产服务器是 Ubuntu 12 . 我正在使用 设计 + OmniAuth 处理 Google 身份验证。 但是当 Google 将控件返回给我的应用程序时,我收到错误 “网络不可达” . 我认
我在rails应用程序中添加了elasticsearch,我的Gemfile中也包含了这些gems: gem "elasticsearch-rails" gem "elasticsearch-mode
我正在努力寻找法拉第咒语来扫描整个 DDB 表。以下函数产生输出,但返回的结果比我知道的表中的 18M 记录要少得多。 (far/scan common/client-opts v2-inde
(仅供引用:我正在关注来自 railscast #241 的 Twitter Omniauth。我成功使用了 Twitter,现在转到 Facebook) 当我使用 Omniauth 登录 Faceb
我正在使用 Faraday它包装了各种适配器,包括 Net::HTTP、Excon、Typhoeus、Patron 和 EventMachine。我想指定网络接口(interface)(例如 en0
我在应用程序中使用 Faraday gem,我想测试当 Faraday 连接因超时而失败时我的应用程序如何工作。我如何 stub 这种情况下的请求? 最佳答案 我找到了一个工作方法。可能它不漂亮,但很
我正在使用带有 token 身份验证的 Faraday,但无法对其进行配置以获取响应。 目前我是这样写的 conn = Faraday.new(url: url) do |faraday| fara
我不是特别熟悉 Faraday 的 stubbing API,但是通过对它和 Balanced::Client 的来源的随意检查,看起来我需要能够为 Balanced::Client.conn 提供我
我收到消息 # Connection refused - connect(2)使用复选框选择 users/edit.html.erb 中的项目后并按下保存。我选择的项目在一个名为 amenities_
使用 Devise 注册时,我的生产服务器出现异常。之前一切正常,没有任何代码更改。服务器在 Heroku 上。这是异常(exception): "exception":["Faraday::SSLE
我是 ruby 的新手,我正在尝试执行规范,但收到此错误: RuntimeError: :json is not registered on Faraday::Request
我应该如何使用带有“application/x-www-form-urlencoded”和“multipart/form-data”的post方法在法拉第发送这个JSON;标题? message =
我尝试将自定义法拉第适配器放在一起,以使用 NetX::HTTPUnix 使用 Unix 套接字发出 HTTP 请求。代码如下所示: module Faraday class Adapter
我正在使用 Balanced ruby gem在我的 Rails 应用程序中进行支付集成。 我正在提交银行卡信息并得到有效回复。然后我将卡信息发送到我的 Controller ,并且我正在使用 car
我是一名优秀的程序员,十分优秀!