Is there a way of uploading to box.com storage via the command line?
Solution 1
Box supports WebDAV, FTP (only for business and enterprise customers) and has an API.
So you could either use a tool to mount the WebDAV entry as a drive, use FTP from the command line or install something like cURL and use the API from the command line. Note that the main support for the API is listed as being via StackOverflow!
Obviously, if you have Box sync installed, you can simply copy files into the sync folder as well.
In Windows \\dav.box.com@SSL\DavWWWRoot\dav
is the URN to connect.
If you express a preference in the comments, I'll try to add more detail but I have to run now.
Solution 2
Sorry, I cannot comment (needs 50 Reputation). As Julian mentioned, you can use WebDAV. This is also enabled for non business accounts; use the URL https://dav.box.com/dav. The folder can not seem to be mounted in windows: http://www.onemetric.com.au/Documentation/Mounting-A-WebDAV-Share-Windows-7 I think this is a Web Server problem. But you can use curl:
curl -u [email protected]:mypassword -T local_file_path https://dav.box.com/dav/remote_file_name
curl -u [email protected]:mypassword https://dav.box.com/dav/remote_file_name --output download_file_path
Solution 3
If you have worked with R language, there is a nice package at https://github.com/brendan-r/boxr for interacting with box via commandline.
Solution 4
I wrote PrintToBox to solve this need for enterprises using Linux/Unix. It uses Box's Java SDK so you must have JDK 7 or JDK 8 installed. I intend to port it to Windows and to Box Platform (to take advantage of App Auth/App Users) but it's not there yet (help wanted, heh).
Related videos on Youtube
rossmcm
Updated on September 18, 2022Comments
-
rossmcm almost 2 years
I have build processes which are built around Windows batch files, and when successful, I want to upload the results to a Box.com account. Is there a way of doing this via the command line? Although the drag and drop interface of Box.com is OK, it remains the one manual step in the chain.
-
rossmcm about 10 yearsThanks for your comments. I don't have a business account so webdav or FTP is out. I'm thinking that maybe using a packet sniffer to watch what happens when I upload a file using the web interface is the way to go.
-
Julian Knight about 10 yearsHave a look at the api, since CURL is listed as an "interface", it should be possible to do what you want.
-
rossmcm about 10 yearsThanks. Just tried it with a 12 Mb file (got cURL from confusedbycode.com/curl) and it went without a hitch using the command line example provided by @phobic:
curl -u [email protected]:mypassword -T local_file_path https://dav.box.com/dav/remote_file_name
-
Julian Knight about 10 yearsFor mounting WebDAV in Windows, you need to use the format I've shown in my answer. Alternatively, there are 3rd party tools that will help.
-
PressingOnAlways almost 8 years+1 for this working out of the box on linux/osx/*nix machines
-
Rekovni over 6 yearsAlso, if there are spaces in the
remote_file_name
or folder, you would need to encode it with%20
eg:remote%20file%20name
.