RingoJS v0.8でのファイルアップロード
おはようございます。息子が靴を履く事にもなれ、外も歩けるようになった@kjunichiです。
iOS6からファイルアップロード出来るようになったので
iOS6になり、fileタグで指定したファイルをアップロード出来るようになりました。撮影した写真もsafariから外部のサーバーへアップロードできました。(クライアント側でfileタグの処理を行うと2MBくらいまでのファイルしか扱えないようなのですが。。)
そこで、Google App Engineで動くサーバーサイドJavaScriptのRingoJSでのファイルアップロードが気になるところ。
RingoJSのv0.8でそれまでとAPIが変わった模様
そんなわけで、Stackoverflowとかにもサンプルないので、自力で解決した
際の備忘録
fileupload.js
var httpUtils = require('ringo/utils/http');
if(httpUtils.isFileUpload(req.headers["content-type"])) {
var params = {};
httpUtils.parseFileUpload(req,params);
}
アップロード用のHTML(念のため)
fileup.html
<form action="http://ファイルアップロードのサーバURL"
enctype="multipart/form-data"
method="post">
<input type="file" name="pics">
<input type="submit" value="アップロード">
</form>
これでparams['pics'].valueにアップロードしたファイルの
内容が入力される。