在React中使用input標(biāo)簽上傳文件
<input onChange={ this.onChangeFiles } type="file" name="uploadfile" />
當(dāng)使用onChange事件時,發(fā)現(xiàn)兩次選擇同一文件會不起作用。
解決方案:
使用ref獲取當(dāng)前input,每次選擇后把valu清空
<input onChange={ this.onChangeFiles } type="file" ref={ (input) => { this.uploadInput = input; } } name="uploadfile" />
然后在onChange事件里把value置空
onChange () {
將files對象轉(zhuǎn)化為數(shù)組
const files = [].slice.call(e.target.files);
...
this.uploadInput = "";
}
Input上傳多個文件 multiple屬性
<input type="file" name="" multiple="" />
Input上傳文件夾 webkitdirectory屬性
<input type="file" name="" multiple="" webkitdirectory="" />