0

私は base64 イメージを生成する小さな Web アプリで作業しています。blob を使用してファイルに戻しています (.png ですが、まだ名前を変更していません)。保存しようとしています。私のサーバーで アイデアや別のアプローチはありますか?

これはスクリプトです:

var img = document.getElementById("MyPix");
    img.onclick = function() {

        var image_data = atob(img.src.split(',')[1]);
        var arraybuffer = new ArrayBuffer(image_data.length);
        var view = new Uint8Array(arraybuffer);
        for (var i=0; i<image_data.length; i++) {
            view[i] = image_data.charCodeAt(i) & 0xff;
        }
        try {
            var blob = new Blob([arraybuffer], {type: 'application/octet-stream'});
        } catch (e) {
            var bb = new (window.WebKitBlobBuilder || window.MozBlobBuilder);
            bb.append(arraybuffer);
            var blob = bb.getBlob('application/octet-stream');
        }

        var url = (window.webkitURL || window.URL).createObjectURL(blob);

        valor = (document.getElementById("link").value = url)

        location.href = valor; 

    };

私はjsがあまり得意ではないので、より良いアイデアが必要な場合は、ここをクリックしてプロジェクトにアクセスしてください。すべてのjavascriptなので、ソースコードを参照してください。

4

1 に答える 1

1

クライアント側の JavaScript だけではサーバーに保存できません。Javascriptで保存したいデータを形成し、それをPOSTデータをファイルシステム上のファイルに変換できるページへの呼び出しでサーバーにPOSTします。$_POSTデータを作成し、それをファイルに書き込みます。Web ページを使用している人だけでなく、誰でもそのページにデータを投稿できるため、安全であることを確認した後。

于 2013-03-09T00:11:07.520 に答える