QRコードに入れた文字列を配列に格納したいと考えております。
その方法・書き方についてお伺いします。
//読み込んだ画像データをTargetString に代入
const imgData = ctx.getImageData(0, 0, this.width, this.height);
const TargetString = jsQR(imgData.data, imgData.width, imgData.height);
//カンマで分割した文字列TargetStringを配列に格納
var Array = TargetString.split(",");
としてみました。
結果は配列になっていないようです。
配列に格納する方法と書き方を教えてください。
※元々の文字列はカンマで区切られています。
。
2019/09/25
以下今回のものすべてです。
上記で
var Array = TargetString.split(",");
としたものを
ary = message.str(',');
としました。
var fs = WScript.CreateObject("Scripting.FileSystemObject")
var csv = fs.CreateTextFile("result.csv",true,false)
function scan(e){
const files = e.target.files || e.dataTransfer.files;
if(!files.length) return;
const files = files[0];
const fileReader = new FileReader();
fileReader.onload = function(theFile){
const image = new Image();
image.onload = function(){
const canvas = document.createElement('canvas');
canvas.width = this.width;
canvas.height = this.height;
const ctx = canvas.getContext('2d');
ctx.drawImage(image, 0, 0);
const imageData = ctx.getImageData(0, 0, this.width, this.height);
const data = jsQR(imageData.data, imageData.width, imageData.height);
if (data) {
const message = data.data;
/このように質問欄に上げた時から以下のように変更しました/
ary = message.str(',');
//カンマ区切りの文字列をcsvファイルにして保存
exportCSV(ary);
}
};
const dataURL = theFile.target.result;
if(!dataURL || !dataURL.startsWith("data:image/")){
alert("読み取りできませんでした");
}
};
fileReader.readAsDataURL(file);
}
//配列をcsvで保存するfunction
function exportCSV(content){
for (var i = 0; i< content.length; i++){
var value = content[i];
for (var j = 0; j< value.length; j++){ var innerValue = value[j]===null?'':value[j].result = result + '"' + result + '"'; formatCSV += ','; formatCSV += result; } formatCSV += '/n'; } fs.Write(formatCSV); if(!Object.keys(fs).length){ console.log('保存できませんでした。'); }else{ console.log('保存できました。'); }
}
</script>