2020年5月1日金曜日

ELMでのPost & 全角文字処理について

ELMでpostが必要になり、情報をさがしました。
https://nulab.com/ja/blog/nulab/elm-introduction-tutorial-2/
を 参考にさせていただきました。

Http.post
        { url = ”/path”
        , body =Http.stringBody "application/x-www-form-urlencoded"
                ("komoku1="
                    ++ komoku1
                    ++ "&komoku2="++komoku2
                )
        , expect=Http.expectString GotText
        }
のような感じで使えるようです。

bottleと組み合わせて、使っていましたが、bottleのrouteで、全角文字は使えないので、どうしようかと考えた結果、Postで全角データを渡すことで解決。

なお、Pythonでは
urllib.parse.unquoteを使えばデコードができる。
ajaxの送信側では、全角文字のエンコードは自動でやってくれるようだ。

ただ、それでも<img src=...>による画像表示の中に全角文字が入るとどうしようもない。そこで、画像ファイルについては、md5によるハッシュで変換することで解決した。
CybozuLabs.MD5.calcを使わせていただきました。
https://labs.cybozu.co.jp/blog/mitsunari/2007/07/md5js_1.html
なお、Python側でもmd5ハッシュを使おうとしましたが、javascript側での計算値と一致させる方法がわからず、javascript側から、ハッシュ値をpython側に送って使うようにして解決。Hashの基本的使い方がまだ勉強不足。


0 件のコメント:

コメントを投稿