ファイル入力とファイルデータの読み取り
を扱い、ファイルのメタデータを読み取り、FileReaderで画像をプレビューします
「ファイル入力とファイルデータの読み取り」はCoddyKit上の無料React Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはReact Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 React Academyコースには全4レッスンが含まれています。
ようこそ
ファイル入力要素
function FileInput() {
const handleChange = (e) => {
const file = e.target.files[0];
console.log(file.name, file.size, file.type);
};
return <input type="file" onChange={handleChange} />;
}Fileオブジェクトのプロパティ
特定のファイルタイプを受け入れる
<input type="file" accept="image/png,image/jpeg,.pdf" />複数ファイルの選択
<input type="file" multiple />
const files = Array.from(e.target.files);URL.createObjectURLで画像をプレビューする
const [preview, setPreview] = useState(null);
const handleChange = (e) => {
const file = e.target.files[0];
if (file) setPreview(URL.createObjectURL(file));
};
useEffect(() => {
return () => { if (preview) URL.revokeObjectURL(preview); };
}, [preview]);
{preview && <img src={preview} alt="Preview" />}FileReaderでファイルの内容を読み取る
const reader = new FileReader();
reader.onload = (e) => setContent(e.target.result);
reader.readAsText(file);ファイルサイズのバリデーション
const MAX_SIZE = 5 * 1024 * 1024; // 5 MB
if (file.size > MAX_SIZE) {
setError('File must be under 5 MB');
return;
}ファイル入力をクリアする
const inputRef = useRef();
const clear = () => { inputRef.current.value = ''; };
<input ref={inputRef} type="file" />ファイル参照をstateに保存する
const [file, setFile] = useState(null);
const handleChange = (e) => setFile(e.target.files[0] || null);確認問題
まとめ
次へ
よくある質問
「ファイル入力とファイルデータの読み取り」レッスンは無料ですか?
はい。「ファイル入力とファイルデータの読み取り」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、React Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 React Academyコースには全4レッスンが含まれています。
「ファイル入力とファイルデータの読み取り」で何を学びますか?
を扱い、ファイルのメタデータを読み取り、FileReaderで画像をプレビューします ブラウザで直接実行するハンズオンコードでReact Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
React Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのReact Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「ファイル入力とファイルデータの読み取り」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このReact Academyレッスンでコードを書いて実行できますか?
はい。すべてのReact Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- useRefによる非制御入力
- ファイル入力とファイルデータの読み取り
- ドラッグ&ドロップによるファイルアップロードUI
- バックエンドAPIへのファイルアップロード