方法一
通过ActiveXObject对象
比如打开C盘:
| function openFileIIs(filename){ |
| var obj=new ActiveXObject("wscript.shell"); |
| if(obj){ |
| obj.Run("\""+filename+"\"", 1, false ); |
| |
| |
| obj=null; |
| } |
| |
| } |
复制
方法二
设置一个不可见的input标签,通过input上面的webkitdirectory 属性打开本地文件,我写的是vue3用法:
| <div class=" button-common" @click="importFile()">导入 |
| <input v-show="false" |
| ref="inputFile" |
| id="file" |
| type="file" |
| webkitdirectory |
| /> |
| </div> |
复制
| export default { |
| ... |
| setup(){ |
| |
| function importFile() |
| this.$refs.inputFile.dispatchEvent(new MouseEvent('click')) |
| } |
| return{ |
| importFile |
| } |
| } |
| } |
| |
复制
方法三
设置一个不可见的input标签,通过input上面的multiple 属性打开本地文件,我写的是vue3用法:这个属性与webkitdirectory 的具体区别可以百度看看
| <div class="import-btn button-common" @click="importStudy()"导入 |
| <input type="file" ref="file" multiple="multiple" @change="onInputFileChange" |
| /> |
| </div> |
复制
| export default { |
| ... |
| setup(){ |
| |
| function importFile() |
| this.$refs.inputFile.dispatchEvent(new MouseEvent('click')) |
| } |
| return{ |
| importFile |
| } |
| } |
| } |
复制
方法四
给自己定义的按钮添加下面代码,通过创建一个不可见的input标签实现
| <div class=" button-common" @click="importFile()">导入</div> |
复制
| function importFile() { |
| var inputObj=document.createElement('input') |
| inputObj.setAttribute('id','_ef'); |
| inputObj.setAttribute('type','file'); |
| inputObj.setAttribute("style",'visibility:hidden'); |
| document.body.appendChild(inputObj); |
| inputObj.click(); |
| inputObj.value ; |
| } |
复制