基于resteasy,Base64码上传文件
package com.xgt.controller.bs; import com.xgt.bean.bs.VersionBean;
import com.xgt.common.BaseController;
import com.xgt.common.PcsResult;
import com.xgt.service.bs.VersionService;
import com.xgt.util.ConstantsUtil;
import com.xgt.util.FileUtils;
import com.xgt.util.OssUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import javax.ws.rs.FormParam;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import java.io.FileNotFoundException;
import java.io.IOException; /**
* Created by Administrator on 2017/9/14.
*/
@Controller
@Path("/installationPackageServerApi")
public class InstallationPackageServerApiController extends BaseController {
@Autowired
private VersionService versionService; /**
* 上传安装包到服务器
* @param installationPackage
* @param installationPackageName
* @return
* @throws IOException
*/
@POST
@Path("/uploadInstallationPackage")
@Produces(MediaType.APPLICATION_JSON)
public PcsResult uploadInstallationPackage(@FormParam("accessToken") String accessToken,@FormParam("installationPackage") String installationPackage
, @FormParam("installationPackageName") String installationPackageName,@FormParam("versionName") String versionName) throws IOException {
byte[] encodeBase64 = FileUtils.getZip(installationPackage, installationPackageName);
VersionBean versionBean = new VersionBean();
versionBean.setAccessToken(accessToken);
versionBean.setInstallationPackageName(installationPackageName);
versionBean.setInstallationPackage(encodeBase64);
uploadFile(versionBean);
return newResult(true);
} private void uploadFile(VersionBean version) throws FileNotFoundException {
if(version.getInstallationPackage().length>0){
// 上传到图片服务器
OssUtil oss=new OssUtil(accessKeyId, accessKeySecret, endpoint,bucketName);
//图片
String InstallationPackageName = version.getInstallationPackageName();
oss.putObject(ConstantsUtil.Folder_PACKAGE_PATH+ConstantsUtil.FILE_SEPARATOR
+InstallationPackageName, version.getInstallationPackage());
version.setInstallationPackageName(ConstantsUtil.Folder_PACKAGE_PATH+ConstantsUtil.FILE_SEPARATOR
+InstallationPackageName);
versionService.insertVersion(version);
Integer versionId = versionService.gainVersionId(version);
version.setVersionId(versionId);
versionService.insertInstallationPackage(version);
}
} }
基于resteasy,Base64码上传文件的更多相关文章
- Python基于Python实现批量上传文件或目录到不同的Linux服务器
基于Python实现批量上传文件或目录到不同的Linux服务器 by:授客 QQ:1033553122 实现功能 1 测试环境 1 使用方法 1 1. 编辑配置文件conf/rootpath_fo ...
- django 基于form表单上传文件和基于ajax上传文件
一.基于form表单上传文件 1.html里是有一个input type="file" 和 ‘submit’的标签 2.vies.py def fileupload(request ...
- Base64格式上传文件至阿里云(java)
Controller @PostMapping("/save") public R save(@RequestBody ShareEntity share){ OSSClient ...
- canvas裁剪之后的base64转换为上传文件blob对象
function convertBase64UrlToBlob(urlData){ var bytes=window.atob(urlData.split(',')[1]); //去掉url的头,并转 ...
- 【django】ajax,上传文件,图片预览
1.ajax 概述: AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味 ...
- node-批量上传文件
很多项目可能都会涉及到的业务是关于多文件上传的,那么需要使用到redis或者第三方库(使用redis)来实现任务队列,甚至需要控制并发量和分包(一次请求传多个文件),这样每次都会以实现功能来完成,但是 ...
- HTML5+AJAX原生分块上传文件的关键参数设置
processData:false 这是jquery.ajax的一个参数.默认值为true,表示会将非字符串对象自动变成k1=v1&k2=v2的形式,例如一个数组参数{d:[1,2]},到服务 ...
- Django上传文件的两种方式
基于form表单上传文件 HTML <h3>基于form表单的上传文件</h3> <form action="" method="post& ...
- Django 练习班级管理系统八 -- 上传文件
Form表单上传文件 修改 views.py import os def upload(request): if request.method == 'GET': img_list = models. ...
随机推荐
- jenkinsapi操作Jenkins,提示:No valid crumb was included in the request
# coding:utf-8 from jenkinsapi.jenkins import Jenkins # 实例化Jenkins对象,传入地址+账号+密码 j = Jenkins("ht ...
- java 通过ip获取客户端mac地址
java 通过ip获取客户端mac地址 package com.asppro.util; import java.io.BufferedReader; import java.io.IOExcepti ...
- APIO2012 派遣dispatching | 左偏树
题目链接:戳我 就是尽可能地选取排名小的,加起来就可以了.然后我们考虑利用一个大根堆,一个一个合并,如果超过派遣的钱,我们就把费用最大的那个忍者丢出队列. 左偏树,作为一个十分优秀的可并堆,我们这道题 ...
- hdu3698 Let the light guide us(dp+线段树)
题意:在每行上选一个点,每个点都要各自对应的代价,同时相邻两行的点要满足 |j-k|≤f(i,j)+f(i+1,k).问最小代价是多少. 题解: 不难发现这是一道dp,状态转移方程如下$dp[i][j ...
- 用最短的payload绕过WAF(入门)
本文作者:jishuzhain <font color=green>想绕过一个WAF,我们可以用最短的payload来做,这里只是基础示例,望各位大佬勿喷,小弟在此谢过.</font ...
- mysql基础操作学习笔记(一)
1前期准备: SQL语言包涵以下4个部分: (1)数据定义语言(DDL):包括DROP, CREATE, ALTER等语句 (2)数据操纵语言(DML):包括INSERT, UPDATE, DELET ...
- vue-cli起的webpack项目 用localhost可以访问,但是切换到ip就不可以访问
我用的是vux起的一个项目(移动端,基于vue的),因为是移动端的,需要在手机上测试,发现用http://localhost:8081/访问的挺好的,但是换到ip就访问不了,期初我以为是代理的原因,将 ...
- Linx 的组管理和权限管理
Linux组基本介绍 在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件 有所有者.所在组.其它组的概念. 1) 所有者 2) 所在组 3) 其它组 4) 改变用户所在的组 ...
- Jedis timeout
处理Jedis timeout 异常 Jedis rClient = new Jedis("localhost"); 解决步骤 关闭linux防火墙 systemctl stop ...
- nodejs的process.on('message')转promise
// main.js const cp = require('child_process'); const child = cp.fork('./child.js'); const callbackP ...