如何使用阿里云OSS进行前端直传

在使用阿里云OSS进行前端直传时,首先我们需要去阿里云官网注册自己的存储桶,然后申请相关的accessKeyId和accessKeySecret,然后新建一个桶,为这个桶命名以及选择对应的地区。
然后可以根据自己的业务,封装对应的组件,以下是根据我自己的项目,所封装的上传组件,所用的是React技术栈

import OSS from "ali-oss";
import {
    plus } from '../apis/person/index'
import styles from './oss.module.less'
import {
    Input } from "antd";
import {
    useState } from "react";

const Oss = () => {
   
  const [resourcesName, setResourcesName] = useState('')
  const upload = () => {
   
    const client = new OSS({
   
      region: "", // 填写桶的地区
      accessKeyId: "", // 桶的key
      accessKeySecret: "", // 桶的secret
      bucket: "dd-robot-react", // 桶的名称
    });

    const upload = document.getElementById("upload");

    async function putObject(data: any) {
   
      try {
   
        const options = {
   
          meta: {
    temp: "demo" },
          mime: "json",
          headers: {
   
            "Content-Type": file.type
          },
        };

        const result = await client.put(data.name, data, options)
        console.log(result);
        console.log(result.url);
        const ossDomain = "dd-robot-react.oss-cn-beijing.aliyuncs.com"; // 替换为你的实际OSS域名
        const fileUrl = `https://${
     ossDomain}/${
     data.name}`;
        console.log(fileUrl);

        let res = await plus({
   
          data_link: result.url,
          data_name: resourcesName,
          type: 3
        })
        console.log(res);
      } catch (e) {
   
        console.log(e);
      }
    }

    upload.addEventListener("click", () => {
   
      const data = file.files[0];
      console.log(data.name);
      putObject(data);
    });
  }

  return (
    <>
      <input id="file" type="file" className={
   styles.file} />
      <Input
        value={
   resourcesName}
        onChange={
   (e) => setResourcesName(e.target.value)}
        placeholder="请输入文件名"
      />
      <button id="upload" onClick={
   upload} className={
   styles.btn} style={
   {
    marginTop: 10 }}>上传资源</button>
    </>
  )
};

export default Oss;

相关推荐

  1. 如何使用阿里OSS进行前端

    2024-02-21 04:08:01       44 阅读
  2. Vue3使用阿里OSS

    2024-02-21 04:08:01       64 阅读
  3. 使用Go-Gin框架实现 OSS 前端功能

    2024-02-21 04:08:01       52 阅读
  4. 如何使用断点续方式上大文件到阿里 OSS

    2024-02-21 04:08:01       20 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-21 04:08:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-21 04:08:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-21 04:08:01       82 阅读
  4. Python语言-面向对象

    2024-02-21 04:08:01       91 阅读

热门阅读

  1. 【Git】基本概念和使用方式

    2024-02-21 04:08:01       43 阅读
  2. 如何使用 FFmpeg 批量转换文件夹内的所有文件

    2024-02-21 04:08:01       46 阅读
  3. 低代码开发:学校低成本数字化转型的新引擎

    2024-02-21 04:08:01       69 阅读
  4. ubuntu上安装docker

    2024-02-21 04:08:01       50 阅读
  5. [office] excel表格如何设置取整数 #知识分享#其他

    2024-02-21 04:08:01       48 阅读
  6. 暴力枚举刷题2

    2024-02-21 04:08:01       59 阅读
  7. nginx前缀匹配

    2024-02-21 04:08:01       52 阅读
  8. 龟兔赛跑算法

    2024-02-21 04:08:01       48 阅读
  9. Element UI组件的安装及使用

    2024-02-21 04:08:01       47 阅读
  10. c# 二叉树

    2024-02-21 04:08:01       42 阅读