Having Issues while upload the doc and pdf file on dropbox

Problem: I have use the net/http code for uploading the ‘.doc’, ‘.docx’, ‘.pdf’ and images files on dropbox. But I getting the issues like:
1.invalid byte sequence in UTF 8
2. Now while the file is uploading but it not uploading the content and even it uploading as a corrupt file.
Below I writing my code to upload the file on dropbox. **Please help me.
Code:**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

Problem: I have use the net/http code for uploading the '.doc', '.docx', '.pdf' and images files on dropbox. But I getting the issues like:

1.invalid byte sequence in UTF 8
2. Now while the file is uploading but it not uploading the content and even it uploading as a corrupt file.

Below I writing my code to upload the file on dropbox. Please help me.

Code:

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

This line is opening the file as a UTF-8 string, which it most likely is not. Read up on File.open, particularly the various flags you can pass to it to ensure that the file is being opened as a binary, not a text file.

Walter

Yes it was the issue of text. file is reading the doc as text not binary. Thanks for your help

Paramnoor Singh