サブテーブルに画像

kintone のサブテーブルに別アプリに保存している画像を表示したい場合強引に入れる裏技があります。

サブテーブルに文字列 (1行)を追加します。
そのフィールドに画像のFileKeyをJSで入れるようにします。
表示時に下記コードで文字列を画像に変換します。
(function() {
  'use strict';
kintone.events.on([
    'app.record.detail.show',
], function(event) {
    let record = event.record;
    
    txt2image(record.Items.value);
    return event;
});  // end kintone.events.on [detail.show] 
    
// テキストフィールドをイメージに変更
let txt2image = (subTableValue)=>{
    setTimeout(()=>{
        let div_field = $('div.field-5684920');//←このNNNNNNNの部分は4の数字と書き換えるの
         //alert(div_field.length);
        for(let i=0 ; i < div_field.length ;i++){
           var FileKey = div_field[i].getElementsByTagName('span')[0].innerHTML;
           if ((FileKey !== "") && (FileKey !== undefined)){
            
            var img = document.createElement('img');
            var url = '/k/v1/file.json?fileKey=' + FileKey;
    
        //ファイルのダウンロード
          var xhr = new XMLHttpRequest();
          xhr.open('GET', url);
          xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
            xhr.send();     
          var im = document.createElement('img');
          im.style.width = "50px";
          im.setAttribute('src', url);            
            div_field.eq(i).replaceWith(im);
           }  
        }
    },1000) 
}  
})();

コメントを残す