Rumah pembangunan bahagian belakang tutorial php 七牛云如何上传图片

七牛云如何上传图片

Jun 06, 2016 pm 08:47 PM
Qiniuyun Muat naik gambar

七牛云如何上传图片

七牛云上传图片的方法:

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;
}
Salin selepas log masuk

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>
<!--七牛云图片服务器相关依赖结束-->
Salin selepas log masuk

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

<!--文件上传处理器  -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="5000000"/>
<property name="defaultEncoding" value="UTF-8"/>
</bean>
Salin selepas log masuk

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

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

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyiarkan gambar pada komen Douyin Bagaimana untuk menyiarkan gambar pada komen Douyin Feb 19, 2024 pm 01:10 PM

Sebagai salah satu platform perkongsian video pendek paling popular di dunia, Douyin telah menarik ratusan juta pengguna untuk menyertainya. Apabila melihat karya hebat orang lain, kita sering terharu dengan beberapa detik dinamik, menarik atau bermakna di dalamnya. Pada masa ini, kita bukan sahaja boleh meluahkan pendapat dan fikiran melalui komen teks, tetapi juga meluahkan emosi kita dengan lebih jelas melalui komen bergambar. Jadi, bagaimana untuk menyiarkan ulasan gambar di TikTok? Mula-mula, buka APP Douyin dan masukkan video yang anda minati. Seterusnya, kita perlu menentukan sistem pengendalian telefon bimbit mengikut perbezaan

Menggunakan Java SDK untuk menyambung ke pemprosesan data Awan Qiniu: Bagaimana untuk mencapai penukaran dan analisis data? Menggunakan Java SDK untuk menyambung ke pemprosesan data Awan Qiniu: Bagaimana untuk mencapai penukaran dan analisis data? Jul 08, 2023 pm 10:16 PM

Menggunakan JavaSDK untuk menyambung ke pemprosesan data Awan Qiniu: Bagaimana untuk mencapai penukaran dan analisis data? Gambaran Keseluruhan: Dalam era pengkomputeran awan dan data besar, pemprosesan data ialah pautan yang sangat penting. Qiniu Cloud menyediakan fungsi pemprosesan data yang berkuasa, yang boleh melakukan pemprosesan imej, pemprosesan audio dan video, pemprosesan teks, dll. pada pelbagai jenis fail yang disimpan dalam Qiniu Cloud. Artikel ini akan memperkenalkan cara menggunakan JavaSDK untuk antara muka dengan fungsi pemprosesan data Qiniu Cloud dan memberikan beberapa contoh kod yang biasa digunakan. Untuk memasang JavaSDK terlebih dahulu, kami perlu memperkenalkannya ke dalam projek

Ajar anda langkah demi langkah cara menggunakan Python untuk menyambung ke antara muka Awan Qiniu untuk mencapai penggabungan audio Ajar anda langkah demi langkah cara menggunakan Python untuk menyambung ke antara muka Awan Qiniu untuk mencapai penggabungan audio Jul 07, 2023 pm 08:40 PM

Ajar anda langkah demi langkah cara menggunakan Python untuk menyambung ke antara muka Awan Qiniu untuk mencapai penggabungan audio Pengenalan: Dalam proses pemprosesan audio, kadangkala kita perlu menggabungkan berbilang fail audio ke dalam satu fail. Bagi pembangun, mereka boleh menggunakan bahasa Python untuk melaksanakan fungsi penggabungan audio dengan menyambung ke antara muka Awan Qiniu. Artikel ini akan memperkenalkan secara terperinci cara menggunakan Python untuk menyambung ke antara muka Awan Qiniu untuk mencapai penggabungan audio. Langkah 1: Pasang perpustakaan bergantung Sebelum menggunakan Python untuk menyambung ke antara muka Awan Qiniu, kita perlu memasang perpustakaan bergantung yang sepadan terlebih dahulu. Buka terminal atau arahan

Bagaimana untuk menggunakan PHP untuk menukar imej dari Qiniu Cloud Storage ke format Base64? Bagaimana untuk menggunakan PHP untuk menukar imej dari Qiniu Cloud Storage ke format Base64? Sep 05, 2023 pm 05:03 PM

Bagaimana untuk menggunakan PHP untuk menukar imej dari Qiniu Cloud Storage ke format Base64? Gambar memainkan peranan penting dalam penghantaran dan penyimpanan rangkaian. Storan Awan Qiniu ialah platform storan awan yang digunakan secara meluas yang menyediakan perkhidmatan storan imej yang stabil dan cekap. Kadangkala, kita perlu menukar imej dalam storan awan Qiniu kepada format Base64 untuk digunakan dalam paparan bahagian hadapan atau tujuan lain. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP untuk menukar imej daripada Storan Awan Qiniu kepada format Base64. Langkah 1: Pasang Qiniuyun PHPS

Panduan Pemprosesan dan Pengurusan Data Awan Qiniu: Bagaimanakah Java SDK melaksanakan operasi dan analisis data? Panduan Pemprosesan dan Pengurusan Data Awan Qiniu: Bagaimanakah Java SDK melaksanakan operasi dan analisis data? Jul 05, 2023 pm 12:41 PM

Panduan Pengurusan Pemprosesan Data Awan Qiniu: Bagaimanakah JavaSDK melaksanakan operasi dan analisis data? Pengenalan: Dengan kemunculan era data besar, pemprosesan dan analisis data menjadi semakin penting. Sebagai sebuah perusahaan yang memfokuskan pada storan awan dan perkhidmatan data, Qiniu Cloud menyediakan pelbagai fungsi pemprosesan dan analisis data untuk memudahkan pengguna memproses dan menganalisis data besar-besaran. Artikel ini akan memperkenalkan cara menggunakan JavaSDK Qiniu Cloud untuk melaksanakan operasi dan analisis data. 1. Persediaan Sebelum memulakan, kita perlu menyediakan beberapa alatan dan persekitaran yang diperlukan: Mohon untuk Akaun Awan Qiniu

Menggunakan bahasa Go untuk membangunkan penyelesaian penyepaduan untuk antara muka Awan Qiniu Menggunakan bahasa Go untuk membangunkan penyelesaian penyepaduan untuk antara muka Awan Qiniu Jul 05, 2023 pm 05:53 PM

Penyelesaian integrasi untuk membangunkan antara muka awan Qiniu menggunakan bahasa Go Pengenalan: Dengan populariti pengkomputeran awan, semakin banyak perusahaan telah mula menyimpan data pada awan. Sebagai penyedia perkhidmatan storan awan utama, Qiniu Cloud menyediakan pengguna dengan perkhidmatan storan objek yang stabil dan cekap. Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk membangunkan penyelesaian penyepaduan antara muka Awan Qiniu dan melampirkan contoh kod. 1. Gambaran Keseluruhan Antara muka Qiniu Cloud menyediakan pelbagai fungsi, termasuk muat naik fail, muat turun, pemadaman, paparan senarai fail, dsb. Untuk memudahkan pembangun menggunakan fungsi ini, kita boleh menggunakan G

Ajar anda langkah demi langkah cara menggunakan Python untuk menyambung ke antara muka Awan Qiniu untuk mencapai pemotongan audio Ajar anda langkah demi langkah cara menggunakan Python untuk menyambung ke antara muka Awan Qiniu untuk mencapai pemotongan audio Jul 05, 2023 pm 03:21 PM

Ajar anda langkah demi langkah cara menggunakan Python untuk menyambung ke antara muka Qiniu Cloud untuk mencapai pemotongan audio Dalam bidang pemprosesan audio, Qiniu Cloud ialah platform storan awan yang sangat baik yang menyediakan pelbagai antara muka untuk pelbagai pemprosesan audio. Artikel ini akan menggunakan Python sebagai contoh untuk mengajar anda langkah demi langkah cara menyambung ke antara muka Awan Qiniu untuk merealisasikan fungsi pemotongan audio. Pertama, kita perlu memasang perpustakaan Python yang sepadan untuk berinteraksi dengan Qiniu Cloud. Masukkan arahan berikut pada baris arahan untuk memasang: pipinstallqiniu Selepas pemasangan selesai, I

Panduan Pembangunan Java: Sambung Pantas ke Perkhidmatan Storan Awan Qiniu Panduan Pembangunan Java: Sambung Pantas ke Perkhidmatan Storan Awan Qiniu Jul 06, 2023 pm 10:13 PM

Panduan Pembangunan Java: Sambung Pantas ke Perkhidmatan Storan Awan Awan Qiniu Pengenalan: Dalam beberapa tahun kebelakangan ini, perkhidmatan storan awan telah digunakan secara meluas dalam bidang pembangunan Internet. Sebagai salah satu penyedia perkhidmatan storan awan terkemuka di China, Qiniu Cloud menyediakan pembangun dengan penyelesaian storan berprestasi tinggi, stabil dan boleh dipercayai. Artikel ini akan memperkenalkan secara terperinci cara menyambungkan perkhidmatan storan Awan Qiniu dengan cepat dalam pembangunan Java dan memberikan anda contoh kod praktikal. 1. Dapatkan akaun dan kunci Qiniu Cloud Sebelum mula menyambung perkhidmatan storan awan Qiniu Cloud, anda perlu mendaftarkan Cloud Qiniu terlebih dahulu.

See all articles