在ruby on rails中上传文件时收到错误文件类型不受支持

2wnc66cl  于 2023-01-25  发布在  Ruby
关注(0)|答案(1)|浏览(177)
url = URI("https://api.podium.com/v4/messages/attachment")
      https = Net::HTTP.new(url.host, url.port)
      https.use_ssl = true
      request = Net::HTTP::Post.new(url)
      request["Content-Type"] = "multipart/form-data"
      request["Authorization"] = "Bearer #{access_token}"
      form_data = [["attachment",File.open('D:\proj\v5\ap\fl\Screenshot (1).png')],['data', "#{request_data}"]]
      request.set_form(form_data, 'multipart/form-data')
      response = https.request(request)
      response_body = JSON.parse(response.body)
      if response.code == '200' || response.code == '201'
          return response_body,'success'
      else
           return response_body,"#{response.message}"
      end
      rescue Exception => ex
        return ex,'Exception'
     end

**当我发送请求时,我收到了如下错误

{“代码”=〉“无效请求值”,“消息”=〉“不支持文件类型",“更多信息”=〉”https://docs.podium.com/docs/errors#invalid_request_values“}**

rkttyhzu

rkttyhzu1#

以下是您可以尝试的几种方法:
1.讲台文档说图像的大小不能超过5MB。你可以验证是否是这样。
https://help.podium.com/hc/en-us/articles/360039896873-Sending-Messages#Attach%20media%20to%20a%20message
1.我注意到您共享的代码片段确实设置了这一行,如他们的文档https://docs.podium.com/reference/messagesend_with_attachment中所述

request["accept"] = 'application/json'

也许添加这个头文件可以为您解决这个问题,正如您所说的,它在Postman中可以工作,但在Ruby中不行。
1.试着从API文档参考页面上传文件并查看他们提供的代码示例。你分享的代码示例和他们文档中展示的代码示例有一些不同。

相关问题