国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

如何使用阿里云OSS進行前端直傳以及分片上傳

這篇具有很好參考價值的文章主要介紹了如何使用阿里云OSS進行前端直傳以及分片上傳。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在使用阿里云OSS進行前端直傳時,首先我們需要去阿里云官網(wǎng)注冊自己的存儲桶,然后申請相關(guān)的accessKeyId和accessKeySecret,然后新建一個桶,為這個桶命名以及選擇對應(yīng)的地區(qū)。
然后可以根據(jù)自己的業(yè)務(wù),封裝對應(yīng)的組件,以下是根據(jù)我自己的項目,所封裝的上傳組件,所用的是React技術(shù)棧

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: "", // 填寫桶的地區(qū)
      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;

下邊的代碼部分是分片上傳內(nèi)容,通常在上傳內(nèi)容較大的時候會使用分片上傳,代碼部分如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-834251.html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <title>Document</title>
</head>

<body>
    <button id="submit">上傳</button>
    <input id="file" type="file" />
    <!--導(dǎo)入sdk文件-->
    <script type="text/javascript" src="https://gosspublic.alicdn.com/aliyun-oss-sdk-6.18.0.min.js"></script>
    <script type="text/javascript">
        const client = new OSS({
            // yourRegion填寫B(tài)ucket所在地域。以華東1(杭州)為例,Region填寫為oss-cn-hangzhou。
            region: "oss-cn-beijing",
            // 從STS服務(wù)獲取的臨時訪問密鑰(AccessKey ID和AccessKey Secret)。
            accessKeyId: "",
            accessKeySecret: "",
            // 填寫B(tài)ucket名稱,例如examplebucket。
            bucket: "",
        });

        const headers = {
            // 指定該Object被下載時的網(wǎng)頁緩存行為。
            "Cache-Control": "no-cache",
            // 指定該Object被下載時的名稱。
            "Content-Disposition": "example.txt",
            // 指定該Object被下載時的內(nèi)容編碼格式。
            "Content-Encoding": "utf-8",
            // 指定過期時間,單位為毫秒。
            Expires: "1000",
            // 指定Object的存儲類型。
            "x-oss-storage-class": "Standard",
            // 指定Object標(biāo)簽,可同時設(shè)置多個標(biāo)簽。
            "x-oss-tagging": "Tag1=1&Tag2=2",
            // 指定初始化分片上傳時是否覆蓋同名Object。此處設(shè)置為true,表示禁止覆蓋同名Object。
            "x-oss-forbid-overwrite": "true",
        };

        // 指定上傳到examplebucket的Object名稱,例如exampleobject.txt。
        // const name = "exampleobject.txt";
        // 獲取DOM。
        const submit = document.getElementById("submit");
        const options = {
            // 獲取分片上傳進度、斷點和返回值。
            progress: (p, cpt, res) => {
                console.log(p);
            },
            // 設(shè)置并發(fā)上傳的分片數(shù)量。
            parallel: 4,
            // 設(shè)置分片大小。默認(rèn)值為1 MB,最小值為100 KB。
            partSize: 1024 * 100,
            // headers,
            // 自定義元數(shù)據(jù),通過HeadObject接口可以獲取Object的元數(shù)據(jù)。
            meta: { year: 2020, people: "test" },
            mime: "text/plain",
        };

        // 監(jiān)聽按鈕。
        submit.addEventListener("click", async () => {
            try {
                const data = document.getElementById("file").files[0];
                const fileName = data.name;
                // 分片上傳。
                const res = await client.multipartUpload(fileName, data, {
                    ...options,
                    // 設(shè)置上傳回調(diào)。
                    // 如果不涉及回調(diào)服務(wù)器,請刪除callback相關(guān)設(shè)置。
                    // callback: {
                    //     // 設(shè)置回調(diào)請求的服務(wù)器地址。
                    //     url: "http://examplebucket.aliyuncs.com:23450",
                    //     // 設(shè)置回調(diào)請求消息頭中Host的值,即您的服務(wù)器配置Host的值。
                    //     host: "yourHost",
                    //     /* eslint no-template-curly-in-string: [0] */
                    //     // 設(shè)置發(fā)起回調(diào)時請求body的值。
                    //     body: "bucket=${bucket}&object=${object}&var1=${x:var1}",
                    //     // 設(shè)置發(fā)起回調(diào)請求的Content-Type。
                    //     contentType: "application/x-www-form-urlencoded",
                    //     customValue: {
                    //         // 設(shè)置發(fā)起回調(diào)請求的自定義參數(shù)。
                    //         var1: "value1",
                    //         var2: "value2",
                    //     },
                    // },
                });
                console.log(res);
            } catch (err) {
                console.log(err);
            }
        });
    </script>
</body>

</html>

到了這里,關(guān)于如何使用阿里云OSS進行前端直傳以及分片上傳的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 阿里云 OSS 客戶端直傳 Policy 模式使用

    阿里云 OSS 客戶端直傳 Policy 模式使用

    Post policy 是阿里推出的一種安全的文件上傳方式,在傳統(tǒng)的方式一般都是客戶端將文件上傳至服務(wù)端,再由服務(wù)端將文件上傳至具體的文件系統(tǒng)比如阿里云的OSS,這種方式不僅增加了我們服務(wù)器的帶寬,而且效率也不怎么高,為此阿里提出的policy 模式,是由服務(wù)端進行簽名,

    2023年04月08日
    瀏覽(24)
  • uniapp - [小程序 / H5網(wǎng)頁] “純前端“ 將文件上傳到阿里云 OSS,全端通用的阿里云 OSS 直傳音視頻、圖片、word、excel、ppt、office 文檔(全程無需后端穩(wěn)定可靠)

    uniapp - [小程序 / H5網(wǎng)頁] “純前端“ 將文件上傳到阿里云 OSS,全端通用的阿里云 OSS 直傳音視頻、圖片、word、excel、ppt、office 文檔(全程無需后端穩(wěn)定可靠)

    網(wǎng)上的教程亂七八糟各種坑,而且 uniapp 各個端都是不同的教程,對于新手來說真的無從下手。 本文站在新手小白的角度, 實現(xiàn) uniapp 小程序 / H5 網(wǎng)頁等平臺的開發(fā)中,“前端直傳” 上傳文件到阿里云oss對象存儲的詳細教程,通用的 “OSS 上傳器”,幾乎全平臺都可以使用!

    2024年02月12日
    瀏覽(73)
  • 使用Go-Gin框架實現(xiàn) OSS 前端直傳功能

    在現(xiàn)代 Web 應(yīng)用中,文件上傳是一項常見功能。傳統(tǒng)的上傳方式通常需要文件經(jīng)過后端服務(wù)器轉(zhuǎn)發(fā)到對象存儲服務(wù)(如阿里云 OSS)。然而,這種方法可能對服務(wù)器造成額外的負(fù)擔(dān),并降低上傳效率。本文將探討如何使用 Go-Gin 框架實現(xiàn) OSS 前端直傳,從而提高效率并減輕服務(wù)器

    2024年01月18日
    瀏覽(28)
  • node.js 前端直接分片上傳文件與阿里云OSS的方法

    解決問題:直接由用戶上傳文件至阿里云OSS,而非經(jīng)過中間件/后端 官方文檔:分片上傳 (aliyun.com)??????????? 在官方文檔中,提供的方法是由中間件上傳至oss,調(diào)用了path庫,但是在瀏覽器用戶沒有那么大的權(quán)限,我們關(guān)注到文檔中此表: 類型 參數(shù) 說明 必選參

    2024年02月11日
    瀏覽(34)
  • 阿里云OSS-小程序文件直傳(支持微信小程序、H5、PC端web使用)

    阿里云OSS-小程序文件直傳(支持微信小程序、H5、PC端web使用)

    支持微信小程序、H5、PC端web使用,整套文件進行封裝統(tǒng)一使用 開發(fā)背景:做類似發(fā)布朋友圈的功能需求,由于后端對發(fā)布功能只提供一個接口,文字、狀態(tài)、文件上傳統(tǒng)一一個接口上傳,且對文件上傳方面做的接口存在諸多問題(人已經(jīng)整麻了),包括各種數(shù)據(jù)結(jié)構(gòu)的轉(zhuǎn)換

    2024年02月07日
    瀏覽(64)
  • 已解決:前端直傳阿里oss報錯跨域問題,“No ‘Access-Control-Allow-Origin‘”,這個錯誤基本就是在阿里的開放平臺沒做規(guī)則配置(附我封裝的上傳源碼)

    已解決:前端直傳阿里oss報錯跨域問題,“No ‘Access-Control-Allow-Origin‘”,這個錯誤基本就是在阿里的開放平臺沒做規(guī)則配置(附我封裝的上傳源碼)

    就直接上阿里oss管理后臺去增加一個跨域規(guī)則:見圖片,特詳細 ?配置成這樣點確定就好了,就這么簡單 標(biāo)題其實就已經(jīng)是答案了,但是以我的性格,我還是要介紹介紹案發(fā)背景,如果你比較著急,可以直接跳到解決方案那里看: 本來我就是個干前端的,也干安卓端(為啥

    2024年02月11日
    瀏覽(22)
  • vue+iviewUi+oss直傳阿里云上傳文件

    vue+iviewUi+oss直傳阿里云上傳文件

    用戶獲取oss配置信息將文件上傳到阿里云,保證了安全性和減輕服務(wù)器負(fù)擔(dān)。一般文件資源很多直接上傳到服務(wù)器會加重服務(wù)器負(fù)擔(dān)此時可以選擇上傳到oss,輕量型的應(yīng)用可以直接將文件資源上傳到服務(wù)器就行。廢話不多說,下面開始總結(jié)本人上傳到oss的踩坑之旅。 1、第一

    2024年02月13日
    瀏覽(19)
  • 微信小程序錄音直傳阿里云OSS并語音識別

    如題:做一個錄音文字識別功能,知識點有三個,分別是微信小程序的錄音功能、錄音文件直傳阿里云OSS、使用阿里云的錄音文件識別接口返回識別后的文字 官方文檔:微信小程序全局唯一的錄音管理器 RecorderManager wxml: js:需要注意的是,點擊開始錄音時要判斷當(dāng)前是否獲

    2024年02月10日
    瀏覽(21)
  • SpringBoot+Vue實現(xiàn)阿里云OSS服務(wù)器簽名直傳并且返回回調(diào)數(shù)據(jù)

    SpringBoot+Vue實現(xiàn)阿里云OSS服務(wù)器簽名直傳并且返回回調(diào)數(shù)據(jù)

    vue java 可參考官方文檔:如何通過Java在服務(wù)端簽名直傳并設(shè)置上傳回調(diào)_對象存儲-阿里云幫助中心 ?

    2024年02月13日
    瀏覽(27)
  • 阿里云oss分片上傳示例

    阿里云oss分片上傳示例

    oss文件服務(wù)器分片上傳官方文檔參考 : 分片上傳 - 對象存儲 OSS - 阿里云 官方文檔寫的更加詳細,更多內(nèi)容請參考官方文檔 1.初始化分片事件,向oss服務(wù)器獲取全局唯一的uploadId 獲取uploadId,后續(xù)分片都需帶上uploadId,標(biāo)識同一個文件對象。 另外初始化操作時已經(jīng)指定文件訪問鏈

    2024年02月16日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包