七牛云如何上传图片
七牛云上传图片的方法:
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中文网!

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











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

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

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

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

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

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

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

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