non vorrei lavorare

ブログ名の通りです。javascript three.js mruby rust OCaml golang julialang blender

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にアップロードしたファイルの
内容が入力される。

関連記事