文件上传至腾讯云服务器

@ResponseBody
	@RequestMapping(value = "uploadFile")
	public R upload(@RequestParam(value="file")MultipartFile file, HttpServletRequest request) {
		String oldFileName = file.getOriginalFilename();
        String eName = oldFileName.substring(oldFileName.lastIndexOf("."));
        String newFileName = UUID.randomUUID()+eName;
		
     	// 1 初始化用户身份信息(secretId, secretKey)
        COSCredentials cred = new BasicCOSCredentials(Constant.ACCESSKEY, Constant.SECRETKRY);
        // 2 设置bucket的区域, COS地域的简称请参照 https://cloud.tencent.com/document/product/436/6224
        ClientConfig clientConfig = new ClientConfig(new Region(Constant.BUCKET));
        // 3 生成cos客户端
        COSClient cosclient = new COSClient(cred, clientConfig);
        // bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
        String bucketName = Constant.BUCKETNAME;
		
     // 简单文件上传, 最大支持 5 GB, 适用于小文件上传, 建议 20 M 以下的文件使用该接口
        // 大文件上传请参照 API 文档高级 API 上传
        File localFile = null;
        try {
            localFile = File.createTempFile("temp",null);
            file.transferTo(localFile);
            // 指定要上传到 COS 上的路径(qianzhui:就是你的文件夹名称,自己定义)
            String key = "/"+qianzhui+"/"+DateUtils.format(new Date())+"/"+newFileName;
            PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, localFile);
            PutObjectResult putObjectResult = cosclient.putObject(putObjectRequest);
            FileDO sysFile = new FileDO();
            sysFile.setUrl(Constant.PATH + putObjectRequest.getKey());
            return R.ok().put("fileName", sysFile);
        } catch (IOException e) {
        	return R.error();
        }finally {
            // 关闭客户端(关闭后台线程)
            cosclient.shutdown();
        }
    }
配置(可以放到配置文件中     根据个人爱好)
/**
	 * 腾讯云配置secretId
	 */
	public static final String ACCESSKEY = "xxxxxxOO6i171h8OnEn9HCsJUQ6Ylirjog";
	/**
	 * 腾讯云配置secretKey
	 */
	public static final String SECRETKRY = "xxxxxxpFPJ3YnuoY4KQJ2YGo9HA";
	/**
	 * 所属地域
	 */
	public static final String BUCKET = "ap-chengdu";
	/**
	 * 存储桶名称
	 */
	public static final String BUCKETNAME = "xxxxxx";
	/**
	 * 访问路径
	 */
	public static final String PATH = "https://xxxxxx.file.myqcloud.com";
依赖版本

		
		    com.qcloud
		    cos_api
		    5.2.4
		

你可能感兴趣的:(文件上传至腾讯云服务器)