0

Chrome から問題なく写真をアップロードできるため、このエラーは Safari (およびモバイル サファリ) の JavaScript に問題があると思います。

私が持っているのは Web ベースのモバイル アプリで、ユーザーは写真をアップロードできる必要があります。しかし、私は高解像度の写真を必要としない/望んでいないので、それらをキャンバスに貼り付け、サイズを変更し、キャンバスを DataURL にキャプチャし、blob に変換します。簡単ですよね ;)

問題のあるJavaScriptがここにあると思われます

  var binary = atob(imgTag.src.split(',')[1]);
            var 配列 = [];
            for(var i = 0; i < binary.length; i++) {
                array.push(binary.charCodeAt(i));
             }


    var formData = new FormData();
   formData.append('photo[image]',new Blob([new Uint8Array(array)]));


しかし、私は画像を文字列などにストリーミングすることに慣れていないことを認めなければなりません。私は、StackOverflow でここにあるブログと回答を選択して、ここまでたどり着きました。

サーバー側でもクライアント側でも機能する回答があれば幸いです。他の誰かの問題を解決したので、コカインの宝石の以前のバージョンに変更しようとしましたが、Paperclip 3.1.3 と Rails 3.2.3 を Sass とすべての他の良いもの。

私のコンソールからのエラーは

コマンド :: identify -format %wx%h '/tmp/blob20121214-5750-185epy9[0]'
[ペーパークリップ] 処理中にエラーが発生しました: #<ペーパークリップ::エラー::NotIdentifiedByImageMagickError: /tmp/blob20121214-5750-185epy9 は「identify」コマンドで認識されません。>
4

1 に答える 1

0

このhttps://github.com/blueimp/JavaScript-Canvas-to-Blobを見つけて、すべてのプラットフォームでキャンバスをブロブに変換し、ios のサファリで動作します。これは私が必要としていたものです。

于 2012-12-15T02:33:00.417 に答える