kintoneからのファイルのダウンロードについて(PDF)

いつもお世話になっております。

kintoneのダウンロードの手順についてご相談させてください。
現在、kintoneにアップロードされたファイルをダウンロードする処理を実装したいです。
ファイルキーを取得し吐き出しまではできたのですが、おそらく文字化けが原因でPDFが空白の状態で表示されてしまいます。

お手数ですが解決方法をご教授いただけますと幸いです。
以上、よろしくお願いします。

(function () {

    "use strict";

    kintone.events.on("app.record.detail.show", function (e) {

        let recId = kintone.app.record.getId();

        let param = { "app": XXX, "id": recId } //appは仮の値

        let record;

        let fileKey;

        kintone.api(kintone.api.url('/k/v1/record', true), 'GET', param, function (resp) {

            record = resp.record;

            fileKey = record['添付ファイル'].value[0].fileKey;

            let authToken = ''; //実際はBASE64のID/PWをEncodeした値をいれています。

            let downloadFileUrl = kintone.api.url('/k/v1/file', true) + '?fileKey=' + fileKey;

            return kintone.proxy(downloadFileUrl, 'GET', { "X-Cybozu-Authorization": authToken, "Content-Type": "application/pdf;charset=UTF-8" }, {}).then(function (get_args) {

                let blob = new Blob([get_args[0]], { "type": "application/pdf" });

                console.log(get_args); //値は取得できているが、[get_args[0]]が文字化け中

                let a = document.createElement('a');

                a.download = name;

                a.target = '_blank';

                if (window.navigator.msSaveBlob)

                {

                    window.navigator.msSaveBlob(blob, "TEST.pdf");

                } else if (window.URL && window.URL.createObjectURL)

                {

                    // for Firefox

                    a.href = window.URL.createObjectURL(blob);

                    document.body.appendChild(a);

                    a.click();

                    document.body.removeChild(a);

                }

                else if (window.webkitURL && window.webkitURL.createObject)

                {

                    // for Chrome

                    a.href = window.webkitURL.createObjectURL(blob);

                    a.click();

                }

                else

                {

                    // for Safari

                    window.open('data:' + mimeType + ';base64,' + window.Base64.encode(content), '_blank');

                }

            });

        });

    });

})();

こんにちは。

自分も同じところでつまずきましたが、こちらの記事のように、
XMLHttpRequestリクエストでContent-Typeの指定をせず、「alink.download = ‘test.pdf’」のように拡張子込みで指定したら、
正常にpdfをダウンロードすることができました。ぜひ試してみてください。

wenxit1218様

こんにちは。
コメントありがとうございます。

できればXMLHttpRequestを使わずに実装をしたかったのですが、これですと難しそうですね。
教えていただいた方法で実装できましたのでこちらを利用したいと思います。

ありがとうございました。