1
<template>
<div class="app-container">
<div>
文件名:<el-input v-model="fileName" :maxlength="100" placeholder="请输入生成的文件名"></el-input>
</div>
<div>
<input id="file" @change="handleFileChange" type="file" name="file" multiple placeholder="点击批量上传客如云二维码"/>
</div>
</div>
</template>
<script>
import {decodeFromFile} from 'tc-qrcode'
export default {
name: "Parse-qrcode",
data() {
return {
fileName: '',
}
},
mounted() {
},
methods: {
async handleFileChange(e) {
console.log('handleFileChange', e.target.files)
const files = e.target.files
const fileList = []
for(const file of files) {
const name = file.name
await decodeFromFile(file).then(res=>{
console.log(file.name, res);
let path = `pages/home/index?q=${encodeURIComponent(res)}&scancode_time=${Date.now()}`
let item = `{"name": "${name}",\r\n"path": '${path}'\r\n}`
fileList.push(item)
})
}
console.log( fileList );
console.log( fileList.join(',') );
this.saveShareContent(fileList.join(','))
},
saveShareContent (content) {
let fileName = 'path'
if (this.fileName) {
fileName = this.fileName
}
let downLink = document.createElement('a')
downLink.download = fileName + '.js'
//字符内容转换为blod地址
let blob = new Blob([content])
downLink.href = URL.createObjectURL(blob)
// 链接插入到页面
document.body.appendChild(downLink)
downLink.click()
// 移除下载链接
document.body.removeChild(downLink)
},
}
}
</script>
<style lang="scss" scoped>
.el-input {
width: 300px;
margin-bottom: 20px;
}
</style>
1