Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法使用React客户端将图像上载到节点_Javascript_Html_Node.js_Reactjs - Fatal编程技术网

Javascript 无法使用React客户端将图像上载到节点

Javascript 无法使用React客户端将图像上载到节点,javascript,html,node.js,reactjs,Javascript,Html,Node.js,Reactjs,当我检查和检查网络时,我得到了后端指定的错误,即“图像无法上传”。那么我做错了什么 const AddProduct=()=>{ const {user,token}=isAuthenticated(); const [values,setValues]=useState({ name:'', description:'', price:'', categories:[], cate

当我检查和检查网络时,我得到了后端指定的错误,即“图像无法上传”。那么我做错了什么

const AddProduct=()=>{
    
    const {user,token}=isAuthenticated();

    const [values,setValues]=useState({
        name:'',
        description:'',
        price:'',
        categories:[],
        category:'',
        shipping:'',
        quantity:'',
        photo:'',
        loading:false,
        error:'',
        createdProduct:'',
        redirectToProfile:false,
        formData:'',
    });

    const {
        name,description,price,categories,category,shipping,quantity,loading,error,createdProduct,redirectToProfile,formData
    }=values;

    useEffect(()=>{
        setValues({...values,formData:new FormData()})
    },[])

    const handleChange=name=>event=>{
        const value= name ==='photo' ?  event.target.files[0] : event.target.value
        console.log(event.target.files[0])
        formData.set(name,value)
        setValues({...values,[name]:value}) 
    };
    const clickSubmit=(event)=>{
        event.preventDefault();
        setValues({...values,error:'',loading:true})
        createProduct(user._id, token, formData)
        .then(data=>{
            if(data.error)
            {
                setValues({...values, error:data.error})
            }else{
                setValues({...values,
                name:'',
                description:'',
                photo:'',
                price:'',
                quantity:'',
                loading:false,
                createdProduct:data.name,
            })
            }
        })
    };

    const newProductForm=()=>(
                <form className="mb-3" onSubmit={clickSubmit}>
                    <h4>Post Photo</h4>
                    <div className="form-group">
                        <label className="btn btn-secondary">
                        <input onChange={handleChange('photo')} type="file" name="photo" accept="image/*"></input>
                        </label> 
                    </div>
);

   let form=new formidable.IncomingForm();  
   form.keepExtensions=true;
    form.parse(req,(err,fields,files)=>{
        if(err){
            return res.status(400).json({
                error:"Image could not be uploaded"
            });
        }
       }
}