React에서 Laravel API로 이미지 업로드

요미

laravel API에 대한 반응에서 파일을 업로드하는 데 문제가 있습니다. 제목, 본문 및 이미지가있는 게시물을 업로드하기위한 백엔드가 있습니다. 이미지 인 경우 이미지의 URL을 저장하고 기본값을 저장하지 않으면 저장해야합니다. 나는 우편 배달부로 테스트했으며 올바르게 작동했지만 반응 프런트 엔드에서 업로드하려고 할 때 모든 시험에 대해 이미지가 저장되지 않습니다.

라 라벨 API

public function save(Request $request)
    {
        $validator = Validator::make($request->all(),[
            'title'=>'required',
            'body'=>'required',
            'user_id'=>'required'
        ]);
        $post = new Post();
            $post->title = $request->title;
            $post->body= $request->body;
            $post->user_id= auth()->user()->id;
            if($request->hasFile('image')){
                $fileNameWithExt = $request->file('image')->getClientOriginalName();
                $fileName = pathinfo($fileNameWithExt,PATHINFO_FILENAME);
                $fileExt = $request->file('image')->getClientOriginalExtension();
                $fileNameToStore = $fileName.'_'. time() .'.'.$fileExt;
                $path = $request->file('image')->storeAs('public/images',$fileNameToStore);
            }else{
                $fileNameToStore = "NoImage.jpg";
            }
            $post->image =$fileNameToStore;
            $post->save();

        return new PostResource($post);
    }

반응 코드

    const [imgName,setImgName] = useState('Choose Image');
        const [postImg,setPostImg] = useState()
        const [postData,setPostData] = useState({
            title:'',
            body:''
        });
    
        const {title,body} = postData;
    
        const changeHandler = e =>{  
           setPostData({...postData,[e.target.name]:e.target.value});
        }
    
        const fileHandler = e=>{
            setImgName(e.target.files[0].name);
            setPostImg(e.target.files[0]);
            
        }
    
        const submitHandler = e =>{
            e.preventDefault();
            
            if(!title || !body){
                props.setMsg("You can't leave title or body field blank",'warning');
                setTimeout(()=>{
                    props.clearError()
                },3000)
            }else{
                const fd = new FormData();
                fd.append('image',postImg)
                const data = {
                    title:title,
                    body:body,
                    image:fd
                }
                
                props.onCreatePost(data);
                console.log(fd.get('image'));
                
            }
           
        }

나는 반응과 함께 redux를 사용하고 있습니다.

`

export const createPost = (formData)=>{
    return (dispatch) =>{
        const token = localStorage.getItem('token')
        const config ={
            headers:{
                'Authorization':`Bearer ${token}`,
                
            }, 
        }
        console.log('Sent Data: ',formData);
           axios.post(`http://127.0.0.1:8000/api/posts`,formData,config)
            .then(res=>{
                dispatch(addPost(res.data))
            }).catch(err=>{
                dispatch(postfailed(err.response))
            })        
    }
}

`

SaachiTech

양식 데이터를 다음으로 업데이트하십시오.

const fd = new FormData();
fd.append('image',postImg)
fd.append('title', title)
fd.append('body',body)
props.onCreatePost(fd);

그런 다음 @gbalduzzi의 설명대로 헤더를 사용하십시오.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

laravel API로 반응에서 이미지 업로드

분류에서Dev

laravel api에서 core php 프로젝트 폴더로 이미지 업로드

분류에서Dev

Laravel : 이미지 업로드

분류에서Dev

Laravel : 이미지 업로드

분류에서Dev

ReactJs Component의 Laravel Api에서 업로드 이미지에 액세스

분류에서Dev

Laravel 8에서 여러 이미지 업로드 문제

분류에서Dev

Laravel 6으로 이미지 업로드

분류에서Dev

Laravel에서 Intervention으로 업로드되지 않는 큰 이미지

분류에서Dev

laravel PHP에서 이미지로드

분류에서Dev

이미지를 업로드하고보기에 표시 Laravel 5.2

분류에서Dev

배열에서 문자열로 변환 Laravel은 다중 이미지 업로드

분류에서Dev

Laravel 이미지 업로드 문제

분류에서Dev

이미지 업로드 양식 laravel

분류에서Dev

LAN의 다른 컴퓨터에서 액세스 할 때 Laravel API의 이미지 업로드 오류

분류에서Dev

React to Express multer에서 Antd로 잘린 이미지 업로드

분류에서Dev

React Frontend에서 DRF로 이미지 업로드

분류에서Dev

Laravel Passport API는 여러 이미지 업로드

분류에서Dev

laravel 5.4에서 업데이트 후 업로드 된 이미지가 삭제되지 않음

분류에서Dev

Django에서 Cloudinary 이미지 업로드

분류에서Dev

magento 1.9에서 이미지 업로드

분류에서Dev

서버에 이미지 업로드

분류에서Dev

URL에서 이미지 업로드

분류에서Dev

서버에 이미지 업로드

분류에서Dev

iOS에서 PHP 이미지 업로드

분류에서Dev

codeigniter에서 이미지 업로드

분류에서Dev

Smartface io에서 이미지 업로드

분류에서Dev

Xamarin : 서버에 이미지 업로드

분류에서Dev

db mysql에 이미지 업로드 대 서버에 업로드

분류에서Dev

React에서 이미지 요청 업로드

Related 관련 기사

뜨겁다태그

보관