问题:我使用net / http代码上传' .doc',' .docx',' .pdf'和Dropbox上的图像文件。但我得到的问题包括:
UTF 8中的无效字节序列。
现在文件正在上传但是没有上传内容,甚至上传为损坏的文件。
下面我编写代码以在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
答案 0 :(得分:0)
我得到了解决方案。这只是因为文件正在以文本格式读取而不是二进制文件。在上面代码中更新的行下面
request.body << File.open("app/assets/images/categoryImages/Sass-for-Web-Designers.pdf", 'rb').read
感谢