Reactから画像ファイルをアップロードしてプレビューを作成
写真ファイルをアップロードするときにプレビューを解放する方法
このようにデフォルトの画像を空にしてから、画像をアップロードし、保存する前に画像をプレビューする方法です.
たくさんのブログを見て参考にしましたが、私のような汪楚宝は理解しにくいです.だから、私のように初心者が多いのであれば、理解に役立つのか+忘れないように、記録のために残したメッセージ
簡単な入力ウィンドウを作成し、画像をその空間と画像にアップロードします.
練習なので、簡単にやってみました.
選択したファイルがどのようなものか、onChangeが必要です.
イメージがいいですね!
ボタンを作成し、inputに「none」と表示します.
この状態でボタンを押すと、入力ボタンが押されるので、onClickをボタンに入れます
コード全体がそうです.
いいえ、次はサーバー接続という山がありますが...
今日のPostingはここまで!!

このようにデフォルトの画像を空にしてから、画像をアップロードし、保存する前に画像をプレビューする方法です.

たくさんのブログを見て参考にしましたが、私のような汪楚宝は理解しにくいです.だから、私のように初心者が多いのであれば、理解に役立つのか+忘れないように、記録のために残したメッセージ
1.ビューの作成
簡単な入力ウィンドウを作成し、画像をその空間と画像にアップロードします.
練習なので、簡単にやってみました.

import React from "react";
const Prac = (props) => {
return (
<React.Fragment>
<img src={"/img/profile.png"}></img>
<input type="file"></input>
</React.Fragment>
);
};
export default Prac;
2.UseRefとonChangeを使う
選択したファイルがどのようなものか、onChangeが必要です.

import React from "react";
import { useState, useRef } from "react";
const Prac = (props) => {
const [imageUrl, setImageUrl] = useState(null);
const imgRef = useRef();
const onChangeImage = () => {
const reader = new FileReader();
const file = imgRef.current.files[0];
console.log(file);
reader.readAsDataURL(file);
reader.onloadend = () => {
setImageUrl(reader.result);
console.log("이미지주소", reader.result);
};
};
return (
<React.Fragment>
<img src={"/img/profile.png"}></img>
<input type="file" ref={imgRef} onChange={onChangeImage}></input>
</React.Fragment>
);
};
export default Prac;
3.imgタグに条件を設定する
<img src={imageUrl ? imageUrl : "/img/profile.png"}></img>

イメージがいいですね!
4.ファイル選択ボタンも変更したい場合は…
ボタンを作成し、inputに「none」と表示します.
この状態でボタンを押すと、入力ボタンが押されるので、onClickをボタンに入れます
コード全体がそうです.
import React from "react";
import { useState, useRef } from "react";
const Prac = (props) => {
const [imageUrl, setImageUrl] = useState(null);
const imgRef = useRef();
const onChangeImage = () => {
const reader = new FileReader();
const file = imgRef.current.files[0];
console.log(file);
reader.readAsDataURL(file);
reader.onloadend = () => {
setImageUrl(reader.result);
console.log("이미지주소", reader.result);
};
};
const onClickFileBtn = (e) => {
imgRef.current.click();
};
return (
<React.Fragment>
<img src={imageUrl ? imageUrl : "/img/profile.png"}></img>
<input
type="file"
ref={imgRef}
onChange={onChangeImage}
style={{ display: "none" }}
></input>
<button
onClick={() => {
onClickFileBtn();
}}
>
이미지 업로드
</button>
</React.Fragment>
);
};
export default Prac;
完成!いいえ、次はサーバー接続という山がありますが...
今日のPostingはここまで!!
Reference
この問題について(Reactから画像ファイルをアップロードしてプレビューを作成), 我々は、より多くの情報をここで見つけました https://velog.io/@bomboming/React에서-이미지파일-업로드-후-미리보기-만들기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol