I have been following this guide here and have got everything to work except the images being uploaded to my server are all blank. Here is an example of one of the blank image files. The JPGs present an error message when trying to open them with Photoshop. Here is the error that Photoshop CC returns:

Could not complete your request because an invalid SOF QTable is found (it must be < the number of QTables).

I believe the line that is causing the problem is this one:

on_picture_save wput −−binary −−remove−source−files ftp://USERNAMEHERE@jonathangraft.com:PASSWORDHERE@MY.SERVERS.EXTERNAL.IP %f

I am forcing the images to be uploaded binary (which I thought would fix it) & deleting the images after they are uploaded. Any ideas as to why my images are being uploaded blank?

  • you should create a simple text file and try to upload it with your command (possibly without deleting it every time), after you succeed with text file, you may try images. – lenik Oct 15 '13 at 2:48
  • Try to debug by using --debug as a wput option, you should find out what's going wrong where. – Dr.Avalanche Oct 15 '13 at 11:09
  • Are you able to ssh into the remote server? – Dr.Avalanche Oct 15 '13 at 11:16
  • @lenik I just created a TXT file on the Raspberry Pi and successfully uploaded it to my web server. The opens fine on all computers, no problem. When I do the same with my captured images, I still get blank JPGs. – Jonathan Oct 15 '13 at 22:58
  • @Dr.Avalanche I am able to SSH into the server. My server is hosted by HostMonster if that makes any difference. I then uploaded the same JPGs that didn't work with --debug. You can view the results here. – Jonathan Oct 15 '13 at 22:58

I found the solution to my problem, and I almost don't want to post it because I feel like such an idiot. But for the better of the community I think it is important that this thread is answered just incase another idiot has the same problem I did.

So, my WPUT script looked like this:

on_picture_save wput −−binary −−remove−source−files ftp://USERNAMEHERE@jonathangraft.com:PASSWORDHERE@MY.SERVERS.EXTERNAL.IP %f

I had copy and pasted the --binary and --remove-source-files text from this website. Well...turns out that the dashes used on that website are not the same dashes as when typed, thus screwing up the command and causing this whole headache.

This symbol ( − ) is not the same as this symbol ( - ).

So, the lesson I learned from all of this: don't copy & paste your code, type it out.


your images are not uploaded blank, they are uploaded damaged.

please, check the originals, most probbaly these are damaged as well, otherwise, I'd recommend to download one of your broken JPG files back and compare to the original to see how and where exactly the damage is done. usual suspects are LF<->CRLF translations or missing zero bytes.

  • I used SCP over SSH to download one of the images to my laptop, and the image downloaded successfully! This must mean that the FTP process is the culprit for corrupting my images, right? I am confused as to how I figure out what is causing this problem. – Jonathan Oct 17 '13 at 22:33
  • 1. read my answer 2. get originals 3. compare – lenik Oct 17 '13 at 23:48
  • 1. I did read your answer. 2. I did get the originals. 3. I did compare them visually. One works, one doesn't. What I'm asking is, how do I compare the underlying code & how do I use the results to find the problem. – Jonathan Oct 18 '13 at 1:47
  • not sure, which operating system you're on, just google://"binary diff" ? – lenik Oct 18 '13 at 4:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.