いつもお世話になっております。
秋山と申します。
今回は添付ファイルに添付しているCSVデータを利用したいことがあり、
ご質問させて頂きました。
詳細画面表示時において、添付ファイルフィールドに既に添付されている
CSVファイルのデータを読み込むことはkintone上で可能でしょうか?
読み込んだデータは下記、例のような運用を考えております。
例:文字列フィールドに読み込んだデータを追加する 等
ご回答頂けると幸いです。
いつもお世話になっております。
秋山と申します。
今回は添付ファイルに添付しているCSVデータを利用したいことがあり、
ご質問させて頂きました。
詳細画面表示時において、添付ファイルフィールドに既に添付されている
CSVファイルのデータを読み込むことはkintone上で可能でしょうか?
読み込んだデータは下記、例のような運用を考えております。
例:文字列フィールドに読み込んだデータを追加する 等
ご回答頂けると幸いです。
秋山さん
こちらのTips記事中の「xhr.responseType = ``"blob"``;」のところを「xhr.responseType = "text";」とすれば、xhr.onload中のxhr.responseTextで、CSVの中身が取得できるかと思います。
そのあとは、CSVをパースしてkintoneのRESTでデータを登録/更新という感じですね。
Ryu Yamashitaさん
ご回答ありがとうございます。
教えて頂いた記事を参考にし、作成してみたのですが…
恥ずかしながらうまくいきませんでした。。
下記が変更を行ったコードになります。
function fileDownload(fileKey){
var apiurl = '/k/v1/file.json?fileKey=' + fileKey;
var xhr = new XMLHttpRequest();
xhr.open('GET', apiurl, true);
xhr.setRequestHeader('X-Requested-With' , 'XMLHttpRequest');
xhr.responseType = "text";
var csvText = xhr.responseType;
var result = new Array();
xhr.onload = function() {
//CSVからデータを取得
var csvText = xhr.responseText;
if (xhr.status == 200) {
//更新成功処理
result = JSON.parse(csvText);
console.log(result[0]);
} else {
//更新失敗処理
console.log('失敗');
}
};
xhr.send();
}
ご教示頂くことはできないでしょうか?
宜しくお願い致します。
ベタ書きですが、これで取得できています。文字コードの処理が必要なら、こちらを参考に処理できるかと思います。
(function() {
"use strict";
kintone.events.on(['app.record.detail.show'], function(event) {
var attached_file = event.record['添付ファイル'].value[0];
var apiurl = '/k/v1/file.json?fileKey=' + attached_file.fileKey;
var xhr = new XMLHttpRequest();
xhr.open('GET', apiurl, true);
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.responseType = "text";
xhr.onload = function(){
var csvText = this.responseText;
console.log(csvText);
};
xhr.send();
return event;
});
})();
Ryu Yamashitaさん
サンプルコードのご提供ありがとうございました!!
考えていた処理コードを作成することができました!
xhr.responseTextをさらにパースしていたため、
コンソールエラーが発生していたようです。。
kintoneの活用とともに
スクリプトの勉強も行いたいと思います。。
本当にありがとうございました。