TIL 20211112[第9958便]
プロファイルアップロードエラー
誤り[フォルダを選択](Select Folder)をクリックして写真を選択し、[フォルダを選択](Select Folder)を再度クリックしてキャンセルするとエラーが発生します.
エラーの原因
ファイルを選択したら、フォルダを開いてファイルを再選択し、[キャンセル](Cancel)をクリックすると、ファイルがundefinedになります.それなら読者readAsDataURL(file);この失敗の誤りが現れた.
ソリューション
// 기존 파일 미리보기
const filePreview = (e) => {
const reader = new FileReader();
const file = fileInput.current.files[0];
reader.readAsDataURL(file);
reader.onloadend = () => {
// console.log(reader.result);
dispatch(setPreview(reader.result));
};
setFileData(e.target.files[0]);
e.target.value = '';
};
既存のコードで行うと上記の画像のエラーが発生しました.const [fileData, setFileData] = React.useState(null);
// 파일 미리보기 (오류 해결 코드)
const filePreview = (e) => {
const reader = new FileReader();
const file = fileInput.current.files[0];
//file이 undefined일 경우 예외처리
if (file === undefined) {
dispatch(setPreview(reader.result));
setFileData(file);
} else {
reader.readAsDataURL(file);
reader.onloadend = () => {
// console.log(reader.result);
dispatch(setPreview(reader.result));
setFileData(file);
};
}
};
if (fileData) {
formData.append('profile', fileData);
}
ファイルを選択した後にフォルダを開いて再びファイルを選択し、[キャンセル](Cancel)をクリックすると、ファイルはundefinedになり、そうでない場合はreaderになります.readAsDataURL(file);この失敗の誤りが現れた.したがって、fileが未定義の場合、例外処理が追加されます.fileがundefinedの場合、エラーreaderが発生します.readAsDataURL(file);この部分は削除されました.reader.readAsDataURL(file);この部分は削除されているので、心を変えてキャンセルを押すと元の保存した写真に戻ります.の上の写真を通して、間違いなくキャンセルをクリックしても、回復がよく確認できます.😊
今日の経験では,この程度の誤りが解決されると,ユーザも利用可能かどうかを考慮して決定する.画像をアップロードして変更し、再度画像を変更するために「ファイルアップロード」をクリックし、「キャンセル」をクリックすれば、最初の画像に戻ることができると思います.最初の画像に戻ると、ユーザは、自分が望む画像に変更したり、自分の考え通りに再選択したりすることができる.したがって、後でサービスの導入、ユーザーの受信、ユーザーのフィードバックの受信、メンテナンス時にこれらのフィードバックがある場合は、これらのフィードバックを再変更する必要があります.サービス導入後にどのようなユーザーフィードバックがあるのか気になりますが、ユーザーフィードバックに基づいて修正するのも面白いです!😀
Reference
この問題について(TIL 20211112[第9958便]), 我々は、より多くの情報をここで見つけました https://velog.io/@arong/TIL-202111012-항해99-58일차テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol