七牛云如何上传图片

Jun 06, 2016 pm 08:47 PM
キニウユン 画像をアップロードする

七牛云如何上传图片

七牛云上传图片的方法:

1,注册七牛云账号,

2,创建一个存储空间bucket,创建的时候回送一个临时的测试域名,这个等上传工具类要用到 ,有效期30天,

3,写java工具类

public class upLoadFile {
//...生成上传凭证,然后准备上传   这个是在注册的账户里面有个人中心那里的密钥管理
1
public static String accessKey = “h9r4Vz72dIAEL2PLSYXFEv39GmUOsw99y7wkbQQW”;
public static String secretKey = “BWhiWbB7D-lWkI2bP2c6wBYRbak3MzmcUeoyTaNv”;
// public static String bucket = “vehicle-picture”;
//这个是创建的存储空间的名字
public static String bucket = “image-a”;
//这个就是测试域名 创建的时候一般都会赠送一个测试域名
// public static String domainOfBucket = “http://qn.vwaiter.cn”;
public static String domainOfBucket = “pn7fhqast.bkt.clouddn.com”;
public static void main(String[] args)
{
getUrl(“FpMjfsJwwMDYC-IXjMIhWm9xiYt4”);
}
/**
 * 上传图片
 * @param file
 * @return
 */
public  static String  uploadFile(MultipartFile file) {
    //构造一个带指定Zone对象的配置类
    Configuration cfg = new Configuration(Zone.zone0());
    //...其他参数参考类注释
    UploadManager uploadManager = new UploadManager(cfg);
    //默认不指定key的情况下,以文件内容的hash值作为文件名
    String fileName=null;
    String key = null;
    try {
        Logger.getLogger("start>>>>>>>>>>").info("图片上传");
        byte[] uploadBytes=file.getBytes();
        ByteArrayInputStream byteInputStream=new ByteArrayInputStream(uploadBytes);
        Auth auth = Auth.create(accessKey, secretKey);
        String upToken = auth.uploadToken(bucket);
        Response response = uploadManager.put(byteInputStream,key,upToken,null, null);
        DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
        //key为空时默认使用hash值作为key
        System.out.println(putRet.key);
        System.out.println(putRet.hash);
        fileName=putRet.hash;
        Logger.getLogger("end>>>>>>>>>>").info("图片上传");
    }catch (QiniuException ex) {
        Response r = ex.response;
        System.err.println(r.toString());
    }
    catch (IOException e) {
        e.printStackTrace();
    }
    return fileName;
}
/**
 * 上传图片
 * @param bytes 要上传图片的字节流
 * @return
 */
public  static String  uploadFile(byte[] bytes) {
    //构造一个带指定Zone对象的配置类
    Configuration cfg = new Configuration(Zone.zone0());
    //...其他参数参考类注释
    UploadManager uploadManager = new UploadManager(cfg);
    //默认不指定key的情况下,以文件内容的hash值作为文件名
    String fileName=null;
    String key = null;
    try {
        Logger.getLogger("start>>>>>>>>>>").info("图片上传");
        byte[] uploadBytes=bytes;
        ByteArrayInputStream byteInputStream=new ByteArrayInputStream(uploadBytes);
        Auth auth = Auth.create(accessKey, secretKey);
        String upToken = auth.uploadToken(bucket);
        Response response = uploadManager.put(byteInputStream,key,upToken,null, null);
        DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
        //key为空时默认使用hash值作为key
        System.out.println(putRet.key);
        System.out.println(putRet.hash);
        fileName=putRet.hash;
        Logger.getLogger("end>>>>>>>>>>").info("图片上传");
    }catch (QiniuException ex) {
        Response r = ex.response;
        System.err.println(r.toString());
    }
    catch (IOException e) {
        e.printStackTrace();
    }
    return fileName;
}
/**
 * 字节数组上传
 * @return
 */
public static String upLoadByte(byte[] data) {
    Configuration cfg = new Configuration(Zone.zone0());
    UploadManager uploadManager = new UploadManager(cfg);
    String fileName=null;
    String key = null;
    try {
        byte[] uploadBytes = "hello qiniu cloud".getBytes("utf-8");
        Auth auth = Auth.create(accessKey, secretKey);
        String upToken = auth.uploadToken(bucket);
        try {
            Response response = uploadManager.put(data, key, upToken);
            //解析上传成功的结果
            DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
            System.out.println(putRet.key);
            System.out.println(putRet.hash);
            fileName=putRet.hash;
        } catch (QiniuException ex) {
            Response r = ex.response;
            System.err.println(r.toString());
            try {
                System.err.println(r.bodyString());
            } catch (QiniuException ex2) {
                //ignore
            }
        }
    } catch (UnsupportedEncodingException ex) {
    }
    return fileName;
}
/**
 * 生成加签访问url
 */
public  static String getUrl(String key) {
    String finalUrl=null;
    String fileName = key;
    String encodedFileName = null;
    try {
        encodedFileName = URLEncoder.encode(fileName, "utf-8");
        String publicUrl = String.format("%s/%s", domainOfBucket, encodedFileName);
        Auth auth = Auth.create(accessKey, secretKey);
        long expireInSeconds = 10800;//1小时,可以自定义链接过期时间
        finalUrl = auth.privateDownloadUrl(publicUrl, expireInSeconds);
     } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
     }
    System.out.println(finalUrl);
    return finalUrl;
}
/**
 * 生成加签访问url
 */
public  static String getUrl1(String key) {
    String finalUrl=null;
    String fileName = key;
    String encodedFileName = null;
    try {
        encodedFileName = URLEncoder.encode(fileName, "utf-8");
        String publicUrl = String.format("%s/%s", domainOfBucket, encodedFileName);
        Auth auth = Auth.create(accessKey, secretKey);
        long expireInSeconds = 10800;//1小时,可以自定义链接过期时间
        finalUrl = auth.privateDownloadUrl(publicUrl, expireInSeconds);
    }
    catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
    System.out.println(finalUrl);
    return finalUrl;
}
//删除上传到七牛云的图片
public static boolean deleteOnQn(String key) throws Exception {
    //密钥配置
    try {
        Auth auth = Auth.create(accessKey,secretKey);
        Configuration configuration = new Configuration(Zone.autoZone());
        BucketManager bucketManager = new BucketManager(auth,configuration);
        bucketManager.delete(bucket,key);
    } catch (QiniuException e) {
        e.printStackTrace();
        throw e;
    }
    return true;
}
ログイン後にコピー

4,需要的依赖架

<dependency>
  <groupId>com.qiniu</groupId>
  <artifactId>qiniu-java-sdk</artifactId>
  <version>7.2.11</version>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>com.squareup.okhttp3</groupId>
  <artifactId>okhttp</artifactId>
  <version>3.3.1</version>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>com.google.code.gson</groupId>
  <artifactId>gson</artifactId>
  <version>2.6.2</version>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>com.qiniu</groupId>
  <artifactId>happy-dns-java</artifactId>
  <version>0.1.4</version>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.12</version>
  <scope>test</scope>
</dependency>
<!--七牛云图片服务器相关依赖结束-->
ログイン後にコピー

5,xml里面需要文件上传处理

<!--文件上传处理器  -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="5000000"/>
<property name="defaultEncoding" value="UTF-8"/>
</bean>
ログイン後にコピー

6,写上传接口的controller和service以及serviceimpl,

更多相关技术文章,请访问PHP中文网

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Java SDK を使用して Qiniu Cloud データ処理に接続する: データの変換と分析を実現するにはどうすればよいですか? Java SDK を使用して Qiniu Cloud データ処理に接続する: データの変換と分析を実現するにはどうすればよいですか? Jul 08, 2023 pm 10:16 PM

JavaSDK を使用して Qiniu クラウド データ処理に接続する: データの変換と分析を実現するにはどうすればよいですか?概要: クラウド コンピューティングとビッグ データの時代において、データ処理は非常に重要なリンクです。 Qiniu Cloud は、Qiniu Cloud に保存されているさまざまな種類のファイルに対して画像処理、音声およびビデオ処理、テキスト処理などを実行できる強力なデータ処理機能を提供します。この記事では、JavaSDK を使用して Qiniu Cloud のデータ処理機能と連携する方法を紹介し、一般的に使用されるコード例をいくつか示します。最初に JavaSDK をインストールするには、JavaSDK をプロジェクトに導入する必要があります

Douyinのコメントに写真を投稿する方法 Douyinのコメントに写真を投稿する方法 Feb 19, 2024 pm 01:10 PM

Douyin は世界で最も人気のあるショートビデオ共有プラットフォームの 1 つとして、何億人ものユーザーを魅了してきました。他の人の素晴らしい作品を見るとき、私たちはその中のダイナミックで興味深い、意味のある瞬間に感動することがよくあります。このとき、テキストコメントで自分の意見や考えを表現するだけでなく、画像コメントで感情をより鮮明に表現することもできます。では、TikTokに画像コメントを投稿するにはどうすればよいでしょうか?まず、Douyin APPを開き、興味のあるビデオを入力します。次に、さまざまな状況に応じて携帯電話のオペレーティング システムを決定する必要があります。

Python を使用して Qiniu Cloud インターフェイスに接続し、オーディオの結合を実現する方法を段階的に説明します。 Python を使用して Qiniu Cloud インターフェイスに接続し、オーディオの結合を実現する方法を段階的に説明します。 Jul 07, 2023 pm 08:40 PM

Python を使用して Qiniu Cloud インターフェイスに接続し、オーディオの結合を実現する方法を段階的に説明します。 はじめに: オーディオ処理のプロセスで、複数のオーディオ ファイルを 1 つのファイルに結合する必要がある場合があります。開発者は、Python 言語を使用して Qiniu Cloud インターフェイスに接続し、オーディオ結合機能を実装できます。この記事では、Python を使用して Qiniu Cloud インターフェイスに接続し、オーディオの結合を実現する方法を詳しく紹介します。ステップ 1: 依存ライブラリをインストールする. Python を使用して Qiniu Cloud インターフェイスに接続する前に、まず対応する依存ライブラリをインストールする必要があります。ターミナルまたはコマンドを開く

Python を使用して Qiniu Cloud インターフェイスに接続し、オーディオのカットを実現する方法を段階的に説明します。 Python を使用して Qiniu Cloud インターフェイスに接続し、オーディオのカットを実現する方法を段階的に説明します。 Jul 05, 2023 pm 03:21 PM

Python を使用して Qiniu Cloud インターフェイスに接続し、オーディオ カッティングを実現する方法を段階的に説明します。オーディオ処理の分野では、Qiniu Cloud は、オーディオのさまざまな処理のための豊富なインターフェイスを提供する非常に優れたクラウド ストレージ プラットフォームです。この記事では、Python を例として、Qiniu Cloud インターフェースに接続してオーディオカット機能を実現する方法を段階的に説明します。まず、Qiniu Cloud と対話するために、対応する Python ライブラリをインストールする必要があります。コマンドラインに次のコマンドを入力してインストールします: pipinstallqiniu インストールが完了したら、

Go 言語を使用して Qiniu Cloud インターフェイスの統合ソリューションを開発する Go 言語を使用して Qiniu Cloud インターフェイスの統合ソリューションを開発する Jul 05, 2023 pm 05:53 PM

Go 言語を使用して Qiniu クラウド インターフェイスを開発するための統合ソリューション はじめに: クラウド コンピューティングの普及により、ますます多くの企業がデータをクラウドに保存し始めています。大手クラウド ストレージ サービス プロバイダーとして、Qiniu Cloud はユーザーに安定した効率的なオブジェクト ストレージ サービスを提供します。この記事では、Go 言語を使用して Qiniu Cloud インターフェースの統合ソリューションを開発する方法を紹介し、コード例を添付します。 1. 概要 Qiniu Cloud のインターフェースは、ファイルのアップロード、ダウンロード、削除、ファイル一覧表示などの豊富な機能を提供します。開発者がこれらの関数を使いやすくするために、G を使用できます。

Qiniu クラウド データ処理および管理ガイド: Java SDK はデータ操作と分析をどのように実装しますか? Qiniu クラウド データ処理および管理ガイド: Java SDK はデータ操作と分析をどのように実装しますか? Jul 05, 2023 pm 12:41 PM

Qiniu クラウド データ処理管理ガイド: JavaSDK はデータ操作と分析をどのように実装しますか?はじめに: ビッグデータ時代の到来により、データの処理と分析の重要性がますます高まっています。 Qiniu Cloud は、クラウド ストレージとデータ サービスに重点を置いている企業として、ユーザーが大量のデータを簡単に処理および分析できるよう、豊富なデータ処理および分析機能を提供します。この記事では、Qiniu Cloud の JavaSDK を使用してデータの操作と分析を実装する方法を紹介します。 1. 準備 開始する前に、必要なツールと環境を準備する必要があります: Qiniu Cloud アカウントを申請する

Python を学習して Qiniu Cloud インターフェースのドッキングと画像結合機能を実装する Python を学習して Qiniu Cloud インターフェースのドッキングと画像結合機能を実装する Jul 06, 2023 am 11:46 AM

Python を学習して Qiniu クラウド インターフェース ドッキングを実装し、画像結合機能を実現します はじめに: 近年、クラウド コンピューティング技術の継続的な発展に伴い、クラウド ストレージ サービスはデータ ストレージとバックアップを解決する重要な手段の 1 つになりました。中国の有名なクラウド ストレージ サービス プロバイダーである Qiniu Cloud は、画像などのメディア リソースのストレージと管理を容易にする豊富なインターフェイスを開発者に提供します。この記事では、Python 言語を使用して Qiniu Cloud インターフェースに接続し、画像結合機能を実装する方法を紹介します。ステップ 1: 依存モジュールをインストールする コーディングを始める前に、まず

PHP を使用して画像を Qiniu Cloud Storage から Base64 形式に変換するにはどうすればよいですか? PHP を使用して画像を Qiniu Cloud Storage から Base64 形式に変換するにはどうすればよいですか? Sep 05, 2023 pm 05:03 PM

PHP を使用して画像を Qiniu Cloud Storage から Base64 形式に変換するにはどうすればよいですか?写真はネットワークの送信と保存において重要な役割を果たします。 Qiniu Cloud Storage は、安定した効率的な画像ストレージ サービスを提供する、広く使用されているクラウド ストレージ プラットフォームです。場合によっては、フロントエンド表示やその他の目的で使用するために、Qiniu クラウド ストレージ内の画像を Base64 形式に変換する必要があります。この記事では、PHP を使用して画像を Qiniu Cloud Storage から Base64 形式に変換する方法を紹介します。ステップ 1: Qiniu Cloud PHPS をインストールする

See all articles