在dropbox上传文档和pdf文件时遇到问题

时间:2017-01-25 12:07:17

标签: ruby-on-rails

问题:我使用net / http代码上传' .doc',' .docx',' .pdf'和Dropbox上的图像文件。但我得到的问题包括:

  1. UTF 8中的无效字节序列。

  2. 现在文件正在上传但是没有上传内容,甚至上传为损坏的文件。

  3. 下面我编写代码以在dropbox上传文件。请帮帮我。

    代码:

          uri = URI.parse("https://content.dropboxapi.com/2/files/upload")
          request = Net::HTTP::Post.new(uri)
          request.content_type = "application/octet-stream"
          request["Authorization"] = "Bearer #{$acess_token}"
          request["Dropbox-Api-Arg"] = "{\"path\":\"/Sass-for-Web-Designers.pdf\"}"
          request.body = ""
          request.body << File.open("app/assets/images/categoryImages/Sass-for-Web-Designers.pdf").read
            #request.body << file.content
            #file.close
          #end
          req_options = {
            use_ssl: uri.scheme == "https",
          }
          response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
            http.request(request)
          end
    

1 个答案:

答案 0 :(得分:0)

我得到了解决方案。这只是因为文件正在以文本格式读取而不是二进制文件。在上面代码中更新的行下面

  request.body <<  File.open("app/assets/images/categoryImages/Sass-for-Web-Designers.pdf", 'rb').read 

感谢