5

パターンジェネレーターを開発しているときに、2011年のこの質問で説明されているのと同じ問題に遭遇しています。

与えられた答えは、クロスブラウザークライアント側のソリューションを実際には提供しません。

[パターンのエクスポート] ボタンをクリックするときは、次の解決策のいずれかを受け入れます。

  1. ファイルが .png 拡張子で保存されていることを確認しながら (ファイル名の設定に関係なく)、canvas2image を介してダウンロードをトリガーする

  2. メソッドの結果の画像を含むウィジェット (できれば KendoUI) を表示しCanvas2Image.saveAsPNG()、ユーザーがそこから画像を保存できるようにします。

現在使用しているボタンの HTML:

<button id="downloadbtn" onClick="javascript:downloadImage()" data-role="button" class="k-button">Export Pattern</button>   

ダウンロードをトリガーする関数:

function downloadImage () {

    //...extra code omitted
    var oCanvas = document.getElementById("my_canvas");
    oCanvas.width = $("#pixels-h").val();
    oCanvas.height = $("#pixels-v").val(); 
    Canvas2Image.saveAsPNG(oCanvas);
    //...extra code omitted    

  }

このファイルは、Chrome バージョン 23.0.1271.95 および Safari バージョン 5.1.7 (6534.57.2) を使用する OSX で正常にダウンロードされるようです。

OSX 版 Firefox 17.0.1 でファイルをダウンロードした後、ファイルを開けないという報告があります。どうやら、ダウンロードにより .part ファイルが生成されます。

最大の問題は、ファイル拡張子がないと、この方法が信頼できるとは思えないことです。

現在のブラウザーとの互換性が可能な限り広いクライアント側のみのソリューションを探しているので、HTML5download属性は現在 Chrome でのみサポートされているため、うまくいかないと思います。

創造的な解決策はありますか?

4

1 に答える 1