Skip to content

Instantly share code, notes, and snippets.

@KittyKatt
Last active March 24, 2018 14:49
Show Gist options
  • Star 15 You must be signed in to star a gist
  • Fork 10 You must be signed in to fork a gist
  • Save KittyKatt/5818701 to your computer and use it in GitHub Desktop.
Save KittyKatt/5818701 to your computer and use it in GitHub Desktop.
pomf.se BASH script to upload images
#!/usr/bin/env bash
# pomf.se uploader
# requires: curl
dest_url='http://pomf.se/upload.php'
return_url='http://a.pomf.se'
if [[ -n "${1}" ]]; then
file="${1}"
if [ -f "${file}" ]; then
printf "Uploading ${file}..."
my_output=$(curl --silent -sf -F files[]="@${file}" "${dest_url}")
n=0 # Multipe tries
while [[ $n -le 3 ]]; do
printf "try #${n}..."
if [[ "${my_output}" =~ '"success":true,' ]]; then
return_file=$(echo "$my_output" | grep -Eo '"url":"[A-Za-z0-9]+.png",' | sed 's/"url":"//;s/",//')
printf 'done.\n'
break
else
printf 'failed.\n'
((n = n +1))
fi
done
if [[ -n ${return_file} ]]; then
printf "File can be found at: ${return_url}/${return_file}.\n"
else
printf 'Error! File not uploaded.\n'
fi
else
printf 'Error! File does not exist!\n'
exit 1
fi
else
printf 'Error! You must supply a filename to upload!\n'
exit 1
fi
@Zanthas
Copy link

Zanthas commented Jun 19, 2013

Awesome.

@alusion
Copy link

alusion commented Aug 11, 2013

<3

@KittyKatt
Copy link
Author

Fixed.

@Bweeze
Copy link

Bweeze commented Nov 13, 2013

KittyKatt is my favourite dev ever :3

@somini
Copy link

somini commented Mar 11, 2015

I fixed it to add more image extension, it uploads correctly but doesn't detect the URL is the file is a jpg.
https://gist.github.com/somini/bd5f56e8e10da6b4033f

@DanielFGray
Copy link

I forked it to auto detect file extension, and color-code error messages that print to stderr
https://gist.github.com/DanielFGray/2b469c8e58ab65b1a0e0

@Bandie
Copy link

Bandie commented May 19, 2015

Forked because no matter what file extension. .* as regex is enough.
https://gist.github.com/Bandie/50b34d68e3fbb23e9097

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment