springboot上傳文件到七牛云

本來一開始是寫把圖片上傳到七牛云的,然后發(fā)現(xiàn)上傳后訪問圖片是目,需要使用自己的備案的域名(之前的域名過期了)谤饭,于是轉(zhuǎn)向阿里云OSS。
把七牛云的代碼全刪了后,寫阿里云的叉抡,阿里云的寫好后裁良,發(fā)現(xiàn)阿里云買了儲存空間還要買下行流量,而且對于我這樣的窮逼來說闯传,有點(diǎn)小貴,于是只好又重新轉(zhuǎn)換七牛云,買了個域名并且重寫代碼茂缚。

配置文件

和阿里云一樣首先也是配置文件戏罢,比較簡單

qiniu:
    access-key: your access key
    secret-key:  your secret key
    bucket: your bucket name

配置類

然后是配置類(為了方便寫了個配置類用來注入)

/**
 * 七牛云配置類
 * @create 2019-07-31 16:47
 */
@Configuration
public class QiniuConfig {

    @Value("${qiniu.access-key}")
    private String accessKey;

    @Value("${qiniu.secret-key}")
    private String secretKey;

    /** 獲取七牛云的Configuration */
    @Bean
    public com.qiniu.storage.Configuration getQiniuConfig() {
        return new com.qiniu.storage.Configuration(Zone.zone2());
    }

    /** 獲取Auth */
    @Bean
    public Auth getAuth() {
        return Auth.create(accessKey, secretKey);
    }
}

主體代碼

public class FileUploadServiceImpl implements FileUploadService {

    @Value("${qiniu.access-key}")
    private String accessKey;

    @Value("${qiniu.secret-key}")
    private String secretKey;

    @Value("${qiniu.bucket}")
    private String bucket;

    @Autowired
    private Auth auth;

    @Autowired
    private Configuration configuration;

    public Map<String, Object> uploadImage(InputStream inputStream, String suffix) {
        UploadManager uploadManager = new UploadManager(configuration);
        // 獲取一個隨機(jī)的文件名
        String filename = UUID.randomUUID().toString().replaceAll("-", "") + suffix;
        // 獲取七牛云提供的 token
        String upToken = auth.uploadToken(bucket);

        // 七牛云用來獲取返回信息的相應(yīng)
        Response response;
        // 用來獲取上傳后的圖片地址
        String picAddr;
        try {
            response = uploadManager.put(inputStream, filename, upToken, null, null);
            // 返回的 response其實是一個 json,轉(zhuǎn)換為 Map脚囊,然后其中的 key就是上傳的文件名了龟糕,其實就是上面生產(chǎn)的 filename
            // 由于域名還未備案完成,所以還不能真正得到圖片直鏈訪問地址悔耘,這里只是得到圖片的文件名
            picAddr = new Gson().fromJson(response.bodyString(), Map.class).get("key").toString();
        } catch (QiniuException e) {
            response = e.response;
            log.error("【上傳服務(wù)】上傳圖片發(fā)生出錯誤讲岁!{}", response.toString());
            e.printStackTrace();
        }

        // 這里是前端使用的 editor.md,要求上傳圖片后的返回格式
        Map<String, Object> result = new HashMap<String, Object>(3) {{
            put("url", "");
            put("success", 1);
            put("message", "upload success!");
        }};

        return result;
    }
}

就是利用Configuration衬以、AuthUploadManager來上傳文件和獲取上傳后的返回信息缓艳,使用auth.upToken()來獲取上傳需要的token信息,然后uploadManager.put()來上傳文件看峻。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末阶淘,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子互妓,更是在濱河造成了極大的恐慌溪窒,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件冯勉,死亡現(xiàn)場離奇詭異霉猛,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)珠闰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門惜浅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人伏嗜,你說我怎么就攤上這事坛悉。” “怎么了承绸?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵裸影,是天一觀的道長。 經(jīng)常有香客問我军熏,道長轩猩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任荡澎,我火速辦了婚禮均践,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘摩幔。我一直安慰自己彤委,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布或衡。 她就那樣靜靜地躺著焦影,像睡著了一般车遂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上斯辰,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天舶担,我揣著相機(jī)與錄音,去河邊找鬼彬呻。 笑死衣陶,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的废岂。 我是一名探鬼主播祖搓,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼湖苞!你這毒婦竟也來了拯欧?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤财骨,失蹤者是張志新(化名)和其女友劉穎镐作,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體隆箩,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡该贾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了捌臊。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片杨蛋。...
    茶點(diǎn)故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖理澎,靈堂內(nèi)的尸體忽然破棺而出逞力,到底是詐尸還是另有隱情,我是刑警寧澤糠爬,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布寇荧,位于F島的核電站,受9級特大地震影響执隧,放射性物質(zhì)發(fā)生泄漏揩抡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一镀琉、第九天 我趴在偏房一處隱蔽的房頂上張望峦嗤。 院中可真熱鬧,春花似錦滚粟、人聲如沸寻仗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽署尤。三九已至,卻和暖如春亚侠,著一層夾襖步出監(jiān)牢的瞬間曹体,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工硝烂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留箕别,地道東北人。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓滞谢,卻偏偏與公主長得像串稀,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子狮杨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容