我有文件上传输入:

<input onChange={this.getFile} id="fileUpload" type="file" className="upload"/>

我是这样处理上传的:

getFile(e) {
    e.preventDefault();
    let reader = new FileReader();
    let file = e.target.files[0];
    reader.onloadend = (theFile) => {
        var data = {
            blob: theFile.target.result, name: file.name,
            visitorId:  this.props.socketio.visitorId
        };
        console.log(this.props.socketio);
        this.props.socketio.emit('file-upload', data);
    };
    reader.readAsDataURL(file);
}

如果我上传同一个文件两次,则不会触发上载事件.我该怎么解决?对于简单的js代码来说,做以下事情就足够了:这个.值=空;在change handler中.我怎么能用ReactJS做呢?

推荐答案

我想你可以这样清除输入值:

e.target.value = null;

文件输入无法控制,没有具体的方法.


Edit对于旧浏览器(<;IE11),可以使用one of the following techniques.

参见http://jsbin.com/zurudemuma/1/edit?js,output(在IE10和IE9上测试)

Reactjs相关问答推荐

如何使用React Router创建响应式主详细信息应用程序?

是否可能有不同的加载器用于路径有查询参数和没有查询参数,或者在React Router 6中添加它们时有条件地跳过一个加载器?

利用OVERPASS API端点计算某建筑的表面积

Reaction-路由v6动态路径RegExp

react 路由GUGUD Use Effect无法通过useNavigate正常工作

一键MUI导出

REACTION-Easy-SORT返回.map错误

警告:遇到两个子元素拥有同一把 keys .键应该是唯一的,以便组件在更新时保持其身份

React redux 工具包 useGetFilterProductsQuery 和 useGetFilterProductsByCategoriesQuery 未定义为函数

无法使axiosmockadapter正常工作

如何在next.js 13中仅在主页导航栏上隐藏组件?

React设置上下文并进行导航

Zod 验证模式根据另一个数组字段使字段成为必需字段

文本的几个词具有线性渐变 colored颜色 - React native

在 React 中,为什么在使用 addEventListener 时外部元素上的 onclick 事件监听器在内部元素的 onclick 事件监听器之前执行?

为什么接受 useState 返回的函数的 setter 在使用 React 的单个调用中执行两次?

我刚刚部署了我的 Vite React 站点,但我的图标/图像没有部署

SonarCloud 代码覆盖率不适用于 Github Action

在 Reactjs 中状态发生变化时渲染一个新组件而不替换旧组件

React - useParams() 不会失败 null / undefined 判断