問題:視頻抓圖、錄像等功能,需要配置本地保存時的文件夾路徑,僅IE用
效果如圖:
廢話不多看代碼:
<el-form-item label="視頻抓圖保存路徑" prop="snapPath">
<el-input v-model="form.snapPath">
<i slot="suffix"
class="el-input__icon el-icon-folder"
style="cursor: pointer;"
@click="handleGetPath('snapPath')"></i>
</el-input>
</el-form-item>
handleGetPath (path) {
/*
* 該方法只支持IE.
* 語法:strDir=Shell.BrowseForFolder(Hwnd,Title,Options,[RootFolder])
* 參數:Hwnd:包含對話框的窗體句柄(handle),一般設置為0
* Title:將在對話框中顯示的說明,為字符串
* Options:使用對話框的特殊方式,為長整數,一般設置為0
* RootFolder:(可選的),用來設置瀏覽的最頂層文件夾,缺省時為“桌面”,可以將其設置為一個路徑或“特殊文件夾常數”
* */
try {
let filePath;
let objSrc = new ActiveXObject("Shell.Application").BrowseForFolder(0, '請選擇保存路徑', 0, '');
if (objSrc != null) {
filePath = objSrc.Items().Item().Path;
if (filePath.charAt(0) == ':') {
alert('請選擇文件夾.');
return false;
}
this.form[path] = filePath;
}
} catch (e) {
alert(e + '請設置IE,Internet選項-安全-自定義級別-將ActiveX控件和插件前3個選項設置為啟用,然后再嘗試。');
return false;
}
}