Uploading file to dropbox with RESTClient

Hello,
I've googled for some time but can't find solution. I'm trying to upload file to dropbox with CoreApi and RESTClient. Downloading files works perfectly with XE5. But when I try to put file with code:
{code}
  source
  LStream:= TFileStream.Create('d:\notes.txt',fmOpenRead);
  RESTClient.BaseURL := 'https://api-content.dropbox.com/1/';
  RESTClient.Authenticator := OAuth2_Dropbox;
  OAuth2_Dropbox.AccessToken := edt_DropBox_AccessToken.Text;
  RESTRequest.Resource := 'files_put/auto/notes.txt';
  LStream.Position:=0;
  RESTRequest.AddBody(LStream,ctTEXT_PLAIN);
  RESTRequest.Method := TRESTRequestMethod.rmPUT;
  RESTRequest.Execute;
  LStream.Free;
{code}
in response I get
  "error":"Upload failed. Content-Type multipart/form-data must not be empty and not one of ('application/x-www-form-urlencoded', 'multipart/form-data')"

File notes.txt is a simple, one word text file.
Anyone done this? Or any other way to upload file to dropbox?
Lukasz
0
Utf
10/23/2014 1:35:24 PM
embarcadero.delphi.webservices 976 articles. 0 followers. Follow

3 Replies
3285 Views

Similar Articles

[PageSpeed] 22

Use Fiddler to see what the REST client is sending:

http://www.telerik.com/fiddler

RESTClient.ProxyServer := '127.0.0.1';
RESTClient.ProxyPort := '8888';


You need to make sure Content-Length is set and that Content-Type is set correctly.

My guess is Content-Type is set to "multipart/form-data" and it says in the error it can't be that or it's blank?

Maybe Content-Type has to be one of these others: ctMULTIPART_MIXED, ctMULTIPART_ALTERNATIVE, ctMULTIPART_RELATED, ctMULTIPART_SIGNED.



TMS Cloud Pack also has a Dropbox component.

http://www.tmssoftware.com/site/tmsfmxcloudpack.asp
0
Eli
10/23/2014 2:36:10 PM
Thanks for Your help, i used fiddler and i get something like that raw

PUT https://api-content.dropbox.com/1/files_put/auto/notes.txt HTTP/1.1
Content-Type: multipart/form-data
Content-Length: 398
Host: api-content.dropbox.com
Accept: application/json, text/plain; q=0.9, text/html;q=0.8,
Accept-Charset: UTF-8, *;q=0.8
Accept-Encoding: identity
User-Agent: Embarcadero RESTClient/1.0

----------102514220201044
Content-Disposition: form-data; name="body"
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

ABC
----------102514220201044
Content-Disposition: form-data; name="access_token"
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

c9p5VJOfhdsAAAAAAAAMniQjo5QvaDWQwr5M7pnEZDAzBqTbRVh8GnHg2YeEGkpn
----------102514220201044--


content type in header is multipart/form-data. It's strange cause i set in code multipart/mixed
{code}
rBody:= TStringStream.Create('ABC');
  LStream:= TFileStream.Create('d:\notes.txt',fmOpenRead);
  RESTClient.BaseURL := 'https://api-content.dropbox.com/1/';
  RESTClient.Authenticator := OAuth2_Dropbox;
  OAuth2_Dropbox.AccessToken := edt_DropBox_AccessToken.Text;
  RESTRequest.Resource := 'files_put/auto/notes.txt';
  LStream.Position:=0;
  RESTClient.ProxyServer := '127.0.0.1';
  RESTClient.ProxyPort := 8888;
  RESTClient.ContentType:= 'multipart/mixed';
  RESTRequest.AddBody(rbody,ctMULTIPART_MIXED);
  RESTRequest.Method := TRESTRequestMethod.rmPUT;
  RESTRequest.Execute;
  LStream.Free;
  rBody.Free;
{code}
Any suggestion? Will be appreciate for any help.
Lukasz
0
Utf
10/25/2014 8:04:04 PM
> {quote:title=Łukasz Gosieniecki wrote:}{quote}
> Hello,
> I've googled for some time but can't find solution. I'm trying to upload file to dropbox with CoreApi and RESTClient. Downloading files works perfectly with XE5. But when I try to put file with code:
> {code}
>   source
>   LStream:= TFileStream.Create('d:\notes.txt',fmOpenRead);
>   RESTClient.BaseURL := 'https://api-content.dropbox.com/1/';
>   RESTClient.Authenticator := OAuth2_Dropbox;
>   OAuth2_Dropbox.AccessToken := edt_DropBox_AccessToken.Text;
>   RESTRequest.Resource := 'files_put/auto/notes.txt';
>   LStream.Position:=0;
>   RESTRequest.AddBody(LStream,ctTEXT_PLAIN);
>   RESTRequest.Method := TRESTRequestMethod.rmPUT;
>   RESTRequest.Execute;
>   LStream.Free;
> {code}
> in response I get
>   "error":"Upload failed. Content-Type multipart/form-data must not be empty and not one of ('application/x-www-form-urlencoded', 'multipart/form-data')"
> 
> File notes.txt is a simple, one word text file.
> Anyone done this? Or any other way to upload file to dropbox?
> Lukasz

Hello, 

I was having the same issue with REST and Dropbox, After a little bit of trial and error I found this worked. see link below

http://simshelloworld.blogspot.co.uk/2014/12/restuploadfile.html
0
Jamie
12/30/2014 10:16:40 AM
Reply:

Similar Artilces:

file uploader save file on server and in database and upload this file on client
hi,i have a file uploader control user can attach files (.rar, .zip, etc) and store file folder and path in database. and another user can click of attach link and can download that file. how can i do this please solve out this problem. you can find your problem solution in this link and you can store the file name in your database server.http://www.aspnettutorials.com/tutorials/network/net-fileupload-aspnet2-csharp.aspxPlease Mark as Answred If This Blog has Helped You.RegardsMitesh Darjihttp://www.indianic.comhttp://www.mitatdotnet.blogspot.com As always there are many ways and which ...

Deleting A File Uploaded Through File Upload Control
Hello, I have a form which allows a user to upload a file to a virtual drive on our server using the following code: fileInvoice.SaveAs(ConfigurationManager.AppSettings.Get("DocumentPath") + strFileName); //Document Path is defined in the web.config file How can I safely allow a form on a web page to delete the file if they know the exact name of the file. I don't want them to be able to do a wildcard match like test* thanks in advance, mitch  Peace be on you brother, so you want to safely delete the file which the name you know. OK I consider that the name ...

File Upload
Hi,  I am using the file upload code at the link below to allows users to upgrade multiple files into  a storage area. http://dotnetslackers.com/community/blogs/basharkokash/archive/2007/09/11/Test.aspx My question is how do I identify which files belong to which user?? On my site i am using ASP membership and before uploading files users must logg on. Does this mean I can use the UserID to identify them or is there another simple wayI I have the file upload in a simple wizard form. Also i am coding in C sharp   Thank you Amereto   You can use the logged...

file upload extensions
Is it possible to upload any/some video files? I tried to add file extentions under the host settings but it didn't work. Wonder if if it's possible in dnn to upload any video files?Thanks. It is possible to upload files of any extension (as far as I know).  You might be hitting a file size constraint?  I've never tried uploading any really huge files - maybe someone else with comment about that?-doug, Powerhouse Data Yes, you can upload video files.  I've uploaded them and used with core modules as well as MediaGallery.  By default, DNN has a max upload size of 8MB...

File Upload
Hey I've got a fileUpload control on an aspx page that works fine for the accepted file type, .rpts, and brings up the correct error message for not allowed extensions such as .exes and .jpgs. But .pdf files should cause an error message to be displayed, as only .rpt files are allowed to be uploaded, but instead it brings up a blank page like a web500 page. Is there a known bug when attempting to upload pdf's?   Just in case,here's the only relevant code attached to the control:   If uploadFilename.EndsWith(".rpt") = True Then 'ensures only .rp...

File Upload- Uploads a blank 90kb file
Hi, I'm uploading a 90kb file to both my oracle database and the internet server from asp.net 2.0 via fileupload tag.The file uploads correctly into oracle but uploads with the correct filename but with 0 bytes into my server. Has anyone come across this issue? My Code for saving into my server: Me.filMyFile.SaveAs(Server.MapPath("~/" & "zQ2_" & datever & _ Me.filMyFile.FileName.ToString()))         Please help me solve this issue.Thank YouVic Is the file being created with zero byte?ASP.NET Hosting (HostingFest) Yes, the file uplo...

Upload all files in folder with file upload control
H i I'm trying to upload all files to a wesite that is in a specific local folder. My code workes fine when I run it locally but when I upload it it fails. I think it looks for the files to upload on the web server and thus cannot find it.  1 Dim files() As String 2 folderExists = System.IO.Directory.Exists(foldername) 3 If folderExists = False Then 4 Label1.Text = "Folder does not exist. Did you enter a folder name or just a file name ?" 5 Exit sub 6 End If 7 files = System.IO.Directory.GetFiles(foldername) 8 For...

How to identify the original file type and restrict the file uploading while using file upload control
 Hi asp.net , I am uploading a file using FileUpload control in asp.net using vb.net.I wrote the code to upload only PDF files. the user can change the extension and change to PDF . I have to check is the file original PDF or not then i have to upload the PDF files only . How to do this ??  Hi, Check the file Mime type for "application/pdf" by looking at the:  FileUpload1.PostedFile.ContentType RegardsSmcoxonNo Gem is ever polished without some friction. Hi smcoxon , Thanks For Replying ,But i found that there is no use using PostedFil...

After Uploading File, Refreshing Page causes file to upload again
As my subject says, after using the FileUpload control to send a file to my server, if the user presses F5 to refresh the page, the file will be uploaded again. The upload control does not list a file, but the tracing on the page does list items under Content_Length and Content_Type under Headers Collection and Server Variables. CONTENT_LENGTH570032CONTENT_TYPEmultipart/form-data; boundary=---------------------------7d6119a16138cI tried clearing these out by using the following commands after my initial file upload without success:Response.ContentType = null;Response.ClearContent();Resp...

difference between asp file upload and html file upload
Can any tell me the the difference between asp.net file upload control and html file upload control..? is there any filesize & file type limitation for both of these? or can we upload any file of any size? Thanks As far as I know, thery are most likely the same in terms of functionality..http://msdn.microsoft.com/en-us/library/ms227677(VS.80).aspxhttp://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmlinputfile(VS.80).aspx Regards,Vinz"Code, Beer and Music" that's my way of being a programmer!How to get your Forum Question Answered | Blog | CodeASP.NE...

Upload file from remote Computer using File Upload
Hi,     How to upload file from remote computer. Can i browse it thruough the File Upload control ?    Please help?     RamarjunK:Hi,     How to upload file from remote computer. Can i browse it thruough the File Upload control ?    Please help?  you can. when the file open dialog box comes, choose my network places, select the corrosponging share, specify the credentials.  then choose the file.you haven't do any thing special, coding is same .Give a man a fish and you feed him for a day. Teach a man to fish a...

Processes file content before upload (from file upload form)
Hello I have a web aplication that needs to process file content (client side) before uploading them to server. May be I have to use file upload form and somehow read files and sign them on submit event I'm not sure how (and can I) do this in Firefox extension? I prefer to use browser functionality for file upload rather than make my own HTTP connection from my extension. I also prefer not to write any user interface. On 4/7/10 7:27 AM, Юлиян wrote: > I have a web aplication that needs to process file content (client > side) before uploading them to server. htt...

File Upload
I use 2.0 with VS 2008 In my code I have put a file upload limit of 1 MB. But if I try uploading files greater than 4 MB, instead of showing the User Message, it does not execute any line of code. Instead it shows. Internet Explorer cannot display the webpage But if I try uploading files between 1MB+ and -4MB, it shows the user message correctly. Cant seem to figure out what the problem could be. Any hints? Below is my codeDim path As String = Server.MapPath("~/UploadedFiles/") Dim fileOK As Boolean = False If FileUpload1.HasFile Then If FileUpload1.PostedFi...

upload file by file
hi all,   we have project, local in server, more then one people do the update, let's say, if all file local in test, I did the modify in local and build and upload the whole test file into service, it work fine. but if I only upload helloone.aspx. and its Vb file (under test) into service, it did not work( the VB code) , is that a way to only upload file by file to service, thank you   If I understand your problem correctly, I think the problem that you may be having is that after pages are compiled locally they are not being compiled for the entire site.  I would su...

Web resources about - Uploading file to dropbox with RESTClient - embarcadero.delphi.webservices

Coinbase API Authentication
The easiest way to buy, use, and accept bitcoin

Start With Expressiveness
... our own API we call. For example, using Ruby's rest-client gem, we can write the following: require 'rest_client' class Car def purchase R ...

OpenShift Origin · GitHub
GitHub is where people build software. More than 11 million people use GitHub to discover, fork, and contribute to over 29 million projects. ...

GOTO Aarhus 2011 Speakers
GOTO is a vendor independent international software development conference with more that 90 top speaker and 1300 attendees. The conference cover ...

ODE to OAuth and Rest API’s and how I love thee – NOT
We always get questions about the Rest API’s and what they return versus what is returned through the SDK requests. Well, my goal was to find ...

How to start receiving inbound email — Mailgun REST API 2.0 documentation
public static ClientResponse CreateRoute () { Client client = Client . create (); client . addFilter ( new HTTPBasicAuthFilter ( "api" , "YOUR_API_KEY" ...

QCon San Francisco 2009 Speakers
... Hotels About QCon Contact Archives Future events Speakers at QCon San Francisco 2009 Aaron Sanders Adam Wiggins , Heroku co-founder, RestClient ...

Sinatra: 29 Links and Resources For A Quicker, Easier Way to Build Webapps
Sinatra , a Ruby "micro framework" for developing Web applications, is hot stuff! Despite being over a year since we first mentioned Sinatra ...

The WordPress JSON REST API
In this article, we will give a general overview of the JSON REST API plugin. We'll cover how this plugin works and the basics of the REST architecture. ...

Twitter Streaming API and Apache Wink
During 2009 Twitter launched their Streaming API, which allows developers to get an (almost) real-time notification of tweets. The "filter.json" ...

Resources last updated: 12/29/2015 2:01:34 PM