网站地图    收藏   

主页 > 前端 > react >

基本的React表单上传示例

来源:未知    时间:2023-09-14 14:43 作者:小飞侠 阅读:

[导读] 以下是一个基本的React表单上传示例,它使用axios库来将文件上传到服务器: importReact,{useState}fromreact;importaxiosfromaxios;functionFileUploadForm(){const[file,setFile]=useState(null);const[uploadPercentage,set...

以下是一个基本的React表单上传示例,它使用axios库来将文件上传到服务器:


import React, { useState } from "react";
import axios from "axios";
function FileUploadForm() {
  const [file, setFile] = useState(null);
  const [uploadPercentage, setUploadPercentage] = useState(0);
  const fileSelectedHandler = event => {
    setFile(event.target.files[0]);
  };
  const fileUploadHandler = () => {
    const formData = new FormData();
    formData.append("file", file);
    axios
      .post("/upload", formData, {
        headers: {
          "Content-Type": "multipart/form-data"
        }
      })
      .then(response => {
        console.log("File uploaded successfully");
      })
      .catch(error => {
        console.error("Failed to upload file", error);
      });
  };
  const uploadPercentageHandler = () => {
    if (file) {
      let reader = new FileReader();
      reader.onload = function(e) {
        setUploadPercentage(e.loaded / e.total * 100);
      };
      reader.readAsDataURL(file);
    }
  };
  return (
    <div>
      <input type="file" onChange={fileSelectedHandler} />
      <button onClick={fileUploadHandler}>Upload</button>
      <button onClick={uploadPercentageHandler}>Show Progress</button>
      <p>{uploadPercentage}%</p>
    </div>
  );
}
export default FileUploadForm;



这个示例包含一个文件输入框、一个上传按钮和一个进度条。当用户选择文件后,文件会存储在file状态变量中。当用户点击上传按钮时,

会将文件作为multipart/form-data格式的请求体发送到服务器。服务器响应后,

上传完成。此外,还有一个按钮可以显示上传进度,通过FileReader读取文件进度条实现。


自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论