11月から駒沢大学のCTCに派遣されて、
某A空輸の次期予約サイトのMonkey Testをやらされているんですが、
screen shotとかuploadするのに、何故か20kbという制限があります。
そんなの、Gimpとかフリーソフト使えば簡単なんですが、
入れさせてくれないんですよね。
なので、screen shotを撮るにはALT + PrintScreen、
編集はMicro$oft謹製のペイント、
pngでsave出来るようになっただけマシではありますが、
64bit colorでしか保存できないので、
sizeが無駄に大きくなっちゃって、
20kbなんてすぐ超えちゃうんですよね。
ImageMagick使えばそんなの、
convert infile.png -colors 256 outfile.png
で済むのに。
仕方無いので、縮小したりしていたんですが、
縮小すると何が書いてあるかわからないし。
そうだ、Web Applicationならinstallしなくてもいい、
と気付いたんですけど、
巷間のserviceに外部秘の画像を上げるのは気が引けたので、
なら自分で作ろうと。
herokuの公式ruby用sampleを元に作れそう、だったので、
調べて、sinatra使ってるってわかって、
あとImageMagickはherokuに元々入ってて、
rubyはrmagicを使えるらしいということで、やりました。
cf.
$ git commit -a
$ git push heroku master
image_filename = "./#{params[:file][:filename]}"
imagedata = params[:file][:tempfile].read
image = Magick::Image.from_blob(imagedata).first
content_type = 'image/png'
attachment image_filename
require 'sinatra'
require "rmagick"
get '/' do
erb :index
end
post '/' do
if params[:file]
image_filename = "./#{params[:file][:filename]}"
imagedata = params[:file][:tempfile].read
image = Magick::Image.from_blob(imagedata).first
image.format = "PNG8"
content_type = 'image/png'
attachment image_filename
image.to_blob
end
end