QiNiuUploadFileTemplateServiceImpl.java 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package com.nosum.deliver.file.service.impl;
  2. import com.nosum.deliver.file.factory.UploadFileFactory;
  3. import com.nosum.deliver.file.service.UploadFileTemplateService;
  4. import com.nosum.common.cache.ConfigCache;
  5. import com.nosum.common.constant.Constants;
  6. import com.nosum.common.util.FileUtil;
  7. import com.google.gson.Gson;
  8. import com.qiniu.common.Zone;
  9. import com.qiniu.http.Response;
  10. import com.qiniu.storage.Configuration;
  11. import com.qiniu.storage.UploadManager;
  12. import com.qiniu.storage.model.DefaultPutRet;
  13. import com.qiniu.util.Auth;
  14. import org.springframework.beans.factory.InitializingBean;
  15. import org.springframework.stereotype.Service;
  16. import org.springframework.web.multipart.MultipartFile;
  17. import java.io.IOException;
  18. /**
  19. * @author Administrator
  20. */
  21. @Service
  22. public class QiNiuUploadFileTemplateServiceImpl implements UploadFileTemplateService, InitializingBean {
  23. @Override
  24. public boolean doCheck(final MultipartFile file) {
  25. return true;
  26. }
  27. @Override
  28. public String doSaveFileStore(final MultipartFile file) {
  29. final Configuration cfg = new Configuration(Zone.autoZone());
  30. final UploadManager uploadManager = new UploadManager(cfg);
  31. final Auth auth = Auth.create(ConfigCache.getConfig(Constants.QINIU_ACCESS_KEY), ConfigCache.getConfig(Constants.QINIU_SECRET_KEY));
  32. final String upToken = auth.uploadToken(ConfigCache.getConfig(Constants.QINIU_BUCKET));
  33. try {
  34. final Response response = uploadManager.put(file.getInputStream(), FileUtil.createSingleFileName(file.getOriginalFilename()), upToken, null, null);
  35. final DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
  36. return ConfigCache.getConfig(Constants.QINIU_IMAGE_DOMAIN) + putRet.key;
  37. } catch (final IOException e) {
  38. e.printStackTrace();
  39. }
  40. return "";
  41. }
  42. /**
  43. * 注册到工厂
  44. *
  45. * @throws Exception
  46. */
  47. @Override
  48. public void afterPropertiesSet() throws Exception {
  49. UploadFileFactory.register(Constants.QINIU, this);
  50. }
  51. }