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

【SpringBoot】-- 實現(xiàn)本地文件/圖片上傳到服務(wù)器生成url地址

這篇具有很好參考價值的文章主要介紹了【SpringBoot】-- 實現(xiàn)本地文件/圖片上傳到服務(wù)器生成url地址。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

??????? 在java項目中你可能會有以下需求:用戶上傳本地圖片,然后展示在網(wǎng)頁上。本篇文章將使用阿里云oss實現(xiàn)上傳圖片到oss,oss生成url。

一、準(zhǔn)備工作

首先進(jìn)入阿里云,按如下操作

如何生成圖片url,SpringBoot,spring,oss

如何生成圖片url,SpringBoot,spring,oss

如何生成圖片url,SpringBoot,spring,oss

進(jìn)入創(chuàng)建頁面,修改讀寫權(quán)限為公共讀

如何生成圖片url,SpringBoot,spring,oss

然后進(jìn)入bucket,創(chuàng)建AccessKey

如何生成圖片url,SpringBoot,spring,oss

創(chuàng)建后,保存好AccessKeyID和AccessKey Secret

二、代碼

將以下依賴添加到項目的pom.xml文件中

<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>3.15.1</version>
</dependency>

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.1</version>
</dependency>
<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.1.1</version>
</dependency>
<!-- no more than 2.3.3-->
<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-runtime</artifactId>
    <version>2.3.3</version>
</dependency>

創(chuàng)建一個工具類,用于配置aliyunoss

如何生成圖片url,SpringBoot,spring,oss

添加以下代碼:(注意修改)

import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.OSSException;
import com.aliyun.oss.model.PutObjectRequest;
import com.aliyun.oss.model.PutObjectResult;

import java.io.FileInputStream;
import java.io.InputStream;

public class AliOssUtil {

    // Endpoint以華東1(杭州)為例,其它Region請按實際情況填寫。
    private static final String ENPOINT = "地區(qū)";
    // 從環(huán)境變量中獲取訪問憑證。運(yùn)行本代碼示例之前,請確保已設(shè)置環(huán)境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
//        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
    private static final String ACCESS_KEY_ID="你的ID";
    private static final String ACCESS_KEY_SECRT="KEY";
    // 填寫B(tài)ucket名稱,例如examplebucket。
    private static final String BUCKETNAME = "你的bucket名稱";

    public static String uploadFile(String objectName, InputStream in) throws Exception {

        // 創(chuàng)建OSSClient實例。
        OSS ossClient = new OSSClientBuilder().build(ENPOINT,ACCESS_KEY_ID,ACCESS_KEY_SECRT);
        String url = "";

        try {
            // 填寫字符串。
            String content = "Hello OSS,你好世界";

            // 創(chuàng)建PutObjectRequest對象。
            PutObjectRequest putObjectRequest = new PutObjectRequest(BUCKETNAME, objectName,in);

            // 如果需要上傳時設(shè)置存儲類型和訪問權(quán)限,請參考以下示例代碼。
            // ObjectMetadata metadata = new ObjectMetadata();
            // metadata.setHeader(OSSHeaders.OSS_STORAGE_CLASS, StorageClass.Standard.toString());
            // metadata.setObjectAcl(CannedAccessControlList.Private);
            // putObjectRequest.setMetadata(metadata);

            // 上傳字符串。
            PutObjectResult result = ossClient.putObject(putObjectRequest);
            //url組成:http://bucket名稱.區(qū)域節(jié)點
            url = "https://" + BUCKETNAME + "." + ENPOINT.substring(ENPOINT.lastIndexOf("/")+1)+"/"+objectName;

        } catch (OSSException oe) {
            System.out.println("Caught an OSSException, which means your request made it to OSS, "
                    + "but was rejected with an error response for some reason.");
            System.out.println("Error Message:" + oe.getErrorMessage());
            System.out.println("Error Code:" + oe.getErrorCode());
            System.out.println("Request ID:" + oe.getRequestId());
            System.out.println("Host ID:" + oe.getHostId());
        } catch (ClientException ce) {
            System.out.println("Caught an ClientException, which means the client encountered "
                    + "a serious internal problem while trying to communicate with OSS, "
                    + "such as not being able to access the network.");
            System.out.println("Error Message:" + ce.getMessage());
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
        return url;
    }
}

然后在控制類中使用

@RestController
public class FileUploadController {

    @PostMapping("/upload")
    public Result<String> upload(MultipartFile file) throws Exception {
        String originalFilename = file.getOriginalFilename();
        //保證文件名字唯一,防止文件覆蓋
        String filename = UUID.randomUUID().toString()+originalFilename.substring(originalFilename.lastIndexOf("."));
        String url = AliOssUtil.uploadFile(filename,file.getInputStream());
        return Result.success(url);
    }

}

三、測試接口

這里使用apifox進(jìn)行測試

如何生成圖片url,SpringBoot,spring,oss

發(fā)送請求后,可以看到圖片已經(jīng)存儲到oss上,并且返回了地址。

如何生成圖片url,SpringBoot,spring,oss文章來源地址http://www.zghlxwxcb.cn/news/detail-845986.html

到了這里,關(guān)于【SpringBoot】-- 實現(xiàn)本地文件/圖片上傳到服務(wù)器生成url地址的文章就介紹完了。如果您還想了解更多內(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ìn)行投訴反饋,一經(jīng)查實,立即刪除!

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

相關(guān)文章

  • 上傳本地文件到HDFS服務(wù)器

    在這篇文章中,我將詳細(xì)介紹如何將本地文件上傳到HDFS(分布式文件系統(tǒng))服務(wù)器。我們將使用Hadoop命令行工具來完成這個任務(wù)。 首先,確保你已經(jīng)安裝了Hadoop并且HDFS服務(wù)器正在運(yùn)行。接下來,我們將按照以下步驟進(jìn)行操作: 步驟 1: 檢查HDFS文件系統(tǒng) 在上傳文件之前,我們

    2024年02月04日
    瀏覽(27)
  • 本地上傳文件至阿里云服務(wù)器的方法

    本地上傳文件至阿里云服務(wù)器的方法

    1.通過阿里云自帶的助手傳輸小文件至阿里云ECS服務(wù)器,編碼后文件大小不能大于32KB ? 2.在云服務(wù)器中安裝wps,可以查看上傳的文件 3.遠(yuǎn)程登錄阿里云服務(wù)器,在云服務(wù)器下載寶塔Windows安裝,在云服務(wù)器輸入寶塔網(wǎng)址:https://www.bt.cn/#

    2024年02月11日
    瀏覽(30)
  • windows本地上傳文件到服務(wù)器(scp)

    windows本地上傳文件到服務(wù)器(scp)

    1.ssh 用戶名@ip:遠(yuǎn)程登錄服務(wù)器。 2.scp 本地文件路徑 用戶名@ip:上傳路徑 :本地文件與服務(wù)器進(jìn)行傳遞。 3.本地文件夾上傳到服務(wù)器 4.查看當(dāng)前文件夾下所有文件的權(quán)限 5.修改文件夾權(quán)限(777是最高權(quán)限) 注意:scp命令只適用于本機(jī)終端(比如cmd / powershell),或者是各種編

    2024年02月12日
    瀏覽(29)
  • 利用vscode工具從本地上傳文件到服務(wù)器中

    利用vscode工具從本地上傳文件到服務(wù)器中

    首先,在vscode中安裝SFTP擴(kuò)展; 然后去配置sftp的傳輸信息,在vscode中按快捷鍵Ctrl+Shift+P或者點擊下面圖片的位置: 輸入SFTP:Config(如下圖),點擊后會在此項目目錄下生成一個sftp.json文件。 然后配置sftp.json文件中的信息就可以了: host:遠(yuǎn)程服務(wù)器的ip; port:遠(yuǎn)程服務(wù)器的端

    2024年04月13日
    瀏覽(33)
  • mac PyCharm 上傳文件到遠(yuǎn)程服務(wù)器+遠(yuǎn)程服務(wù)器下載到本地

    mac PyCharm 上傳文件到遠(yuǎn)程服務(wù)器+遠(yuǎn)程服務(wù)器下載到本地

    選擇SFTP name:test6 輸入ssh賬號和密碼。保存密碼和30s心跳。 Local path(本地mac機(jī)器):/Users/clevercode/PycharmProjects/test6 Root path(遠(yuǎn)程服務(wù)機(jī)器):/home/clevercode/test6 Root path(遠(yuǎn)程服務(wù)機(jī)器):/home/clevercode/test6 [2024/1/18, 10:56 AM] Upload file ‘/Users/clevercode/PycharmProjects/test6/f100.py’ t

    2024年01月19日
    瀏覽(31)
  • vscode遠(yuǎn)程連接服務(wù)器(remote ssh)+上傳本地文件到服務(wù)器(sftp)

    vscode遠(yuǎn)程連接服務(wù)器(remote ssh)+上傳本地文件到服務(wù)器(sftp)

    一、vscode遠(yuǎn)程連接服務(wù)器 1.點擊vscode右邊工具欄點擊拓展,搜索remote ssh并安裝 2.安裝完成后,左邊工具欄會出現(xiàn)一個電腦圖標(biāo)的遠(yuǎn)程資源管理器,點擊后選擇SSH TARGETS的設(shè)置 3.然后選擇第一個..sshconfig 4.向服務(wù)器管理員索要服務(wù)器的連接信息并修改ssh config文件 ? 5.設(shè)置完成

    2024年02月01日
    瀏覽(27)
  • SpringBoot上傳文件到Minio服務(wù)器,支持批量上傳

    SpringBoot上傳文件到Minio服務(wù)器,支持批量上傳

    本文主要介紹如何使用SpringBoot上傳到minio服務(wù)器。 沒什么可多說的,公司用什么咱們開發(fā)研究什么就完事了。直接分享核心代碼。 minio依賴 配置文件 首先是核心的參數(shù),包括服務(wù)器minio地址,以及用戶名密碼,使用的桶名稱 controller代碼 如果只需要上傳文件,只需要Multipa

    2024年02月08日
    瀏覽(25)
  • 如何使用WinSCP公網(wǎng)遠(yuǎn)程訪問本地CentOS服務(wù)器編輯上傳文件

    如何使用WinSCP公網(wǎng)遠(yuǎn)程訪問本地CentOS服務(wù)器編輯上傳文件

    ? Winscp 是一個支持 SSH( Secure SHell)的 可視化 SCP(Secure Copy)文件傳輸軟件,它的主要功能是在本地與遠(yuǎn)程計算機(jī)間安全地復(fù)制文件,并且可以直接編輯文件。 ? 可視化操作就是直接把文件 從本機(jī)拖入 ,打開文件 直接雙擊 即可。 軟件特性 支持協(xié)議眾多:SSH ,F(xiàn)TP、SFTP、FTPS、

    2024年01月23日
    瀏覽(19)
  • scp命令-遠(yuǎn)程服務(wù)器與本地之間的文件上傳與下載操作

    scp命令在linux中,比較方便。下面是例子。 -p -- ssh的端口,不寫的話默認(rèn)就是22。 /Users/zangcc/Desktop/hello.zip -- 本地的桌面文件hello.zip。 root@服務(wù)器ip:/root/tools -- 上傳到遠(yuǎn)程服務(wù)器的/root/tools下。 通俗的講:將本地桌面的hello.zip上傳到服務(wù)器的/root/tools目錄。 -p -- ssh的端口,不

    2024年02月13日
    瀏覽(25)
  • 7.2 SpringBoot實現(xiàn)上傳圖片API + url映射本地路徑registry.addResourceHandler

    7.2 SpringBoot實現(xiàn)上傳圖片API + url映射本地路徑registry.addResourceHandler

    在圖書借閱系統(tǒng)里,有很多圖片需要前端展示,這些圖片大都是由用戶上傳,保存在服務(wù)端,所以服務(wù)端需要提供 上傳和訪問圖片 。 基本要求 :前端直接訪問網(wǎng)絡(luò)圖片url 就可以打開圖片,不用下載,更不用base64轉(zhuǎn)碼! 實現(xiàn)方式 : Tomcat

    2024年02月10日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包