html - 在上传之前尝试预览图像
问题描述
我正在尝试使用页面上的文件类型输入来呈现用户选择的图像,因此用户将在提交和上传图像之前预览图像,但我无法获得它的值。
我一直在尝试做的是使用输入的值作为<img />
组件的来源:
import React, { useState } from "react";
export default function Test() {
const [image, setImage] = useState(null);
return (
<div>
<form onSubmit={() => {
//Sumbit
}}/>
<input
type="file"
onChange={(e) => setImage(e.target.value)}
></input>
{image ? <img src={image} /> : null}
<button type={"submit"}></button>
</form>
</div>
);
}
但它总是返回一个值 - C:\fakepath\IMGName
。有什么方法可以获取图像的值,以便我可以将其渲染为图像?
解决方案
export default function App() {
const [img, setImg] = useState(null);
const handleImg = (e) => {
setImg(URL.createObjectURL(e.target.files[0]));
}
return (
<div className="App">
<input type="file" onChange={handleImg} />
<img src={img}/>
</div>
);
}
推荐阅读
- c# - 在尝试生成大量以 mysql 数据库的内容作为源的组合框时遇到问题
- java - 验证可以包含任何字符的字符串,但来自特定字母/脚本的字母
- docker-compose - 如何在 docker-compose.yml 文件中为节点导出器启用 systemd 收集器
- c# - web api 2帮助页面中的排序控制器
- symfony - 无法连接到主机,elasticsearch 关闭?Symfony 4 elastica/rulfin 客户端。码头工人
- c# - unity2D - 填充量边缘指示器
- java - 当我从移动 onepluse 3 Android oreo 的下载文件夹中选择文件/图像/.doc 时,Android 应用程序崩溃
- arrays - 为 Alamofire POST 请求 Swift 4 创建主体
- c++ - 如何打印没有空格作为输入的整数?
- subquery - SQL Oracle 子查询