# kintoneからのファイルのダウンロードについて（PDF）

**URL:** <https://community.cybozu.dev/t/topic/6231>\
**Category:** kintone 開発相談\
**Created:** [2020 年 4 月 8 日午前 8:48 UTC](https://community.cybozu.dev/t/topic/6231 "2020-04-08T08:48:01Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account562](https://avatars.discourse-cdn.com/v4/letter/l/dc4da7/32.png) [@Legacy\_Account562](https://community.cybozu.dev/u/Legacy_Account562)\
**Post date:** [2020 年 4 月 8 日午前 8:48 UTC](https://community.cybozu.dev/t/topic/6231/1 "2020-04-08T08:48:01Z")

</div>

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

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');

                }

            });

        });

    });

})();

```

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1384](https://avatars.discourse-cdn.com/v4/letter/l/97f17d/32.png) [@Legacy\_Account1384](https://community.cybozu.dev/u/Legacy_Account1384)\
**Post date:** [2020 年 4 月 10 日午前 9:15 UTC](https://community.cybozu.dev/t/topic/6231/2 "2020-04-10T09:15:37Z")

</div>

こんにちは。

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

---

<div class="post-metadata">

**Author:** ![Legacy\_Account562](https://avatars.discourse-cdn.com/v4/letter/l/dc4da7/32.png) [@Legacy\_Account562](https://community.cybozu.dev/u/Legacy_Account562)\
**Post date:** [2020 年 4 月 13 日午前 2:05 UTC](https://community.cybozu.dev/t/topic/6231/3 "2020-04-13T02:05:15Z")

</div>

wenxit1218様

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

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

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

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/d5c841c3c5a6cb66eed514001c1b45147c9e1f4f.png) [@system](https://community.cybozu.dev/u/system)\
**Post date:** [2025 年 9 月 12 日午前 8:42 UTC](https://community.cybozu.dev/t/topic/6231/4 "2025-09-12T08:42:47Z")

</div>

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。
