目录
1.前段技术 ajax
2.html内容
3.java 代码
4.java 工具类
5.pom.xml引入依赖
1.前段技术 ajax
//上传文件方法
function clickUPFile(){
//添加获取文件信息
var formdata=new FormData();
formdata.append('enctype', 'multipart/form-data');
formdata.append('name', 'file');
formdata.append('file',$('#file').get(0).files[0]);
// formdata.append('recid',str);
$.ajax({
url:porject.host+'/2/serviceUploadas',
type:'post',
contentType:false,
data:formdata,
processData:false,
success:function(info){
console.log(info)
// $('.backimg').attr('src',JSON.parse(info).msg);
},
error:function(err){
console.log(err)
}
});
}
2.html内容
3.java 代码
/**
* 文件上传方法
*
* @param file
* @param session
* @return
*/
@RequestMapping("/2/serviceUploadas")
@ResponseBody
public String serviceUploadas(@RequestParam("file") MultipartFile file, HttpServletRequest request) {
// 文件判断为空
if (file.isEmpty())
return "上传失败,请选择文件";
// 获取文件原始名称
String fileOriginalName = file.getOriginalFilename();
// 校验文件名安全性
if (fileOriginalName.indexOf(".") != -1) {// 判断事包含带有结尾符的文件
// 只支持上传jpg格式文件图片
if (fileOriginalName.split("\\.")[1].equals("jpg")) {
String fliePrefix = UUID.randomUUID().toString().replace("-", "");
String key = new StringBuffer("/superf/u_").append(fliePrefix).append(".")
.append(fileOriginalName.split("\\.")[1]).toString();
File excelFile = null;
try {
excelFile = File.createTempFile(key, ".jpg");
file.transferTo(excelFile);
// 执行上传方法
if (fu.upLoadFileTX(key, excelFile) != null)
return ServerUrlImg + key;
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (excelFile.exists()) {
excelFile.delete();
}
}
}
}
return "error";
}
4.java 工具类
package com.supermap.file;
import java.io.File;
import org.apache.commons.logging.Log;
import org.apache.tomcat.util.http.fileupload.disk.DiskFileItem;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import com.qcloud.cos.COSClient;
import com.qcloud.cos.ClientConfig;
import com.qcloud.cos.auth.BasicCOSCredentials;
import com.qcloud.cos.auth.COSCredentials;
import com.qcloud.cos.model.PutObjectRequest;
import com.qcloud.cos.model.PutObjectResult;
import com.qcloud.cos.region.Region;
import ch.qos.logback.classic.Logger;
/**
* 文件服务器公共类
*
* @author yushen
*
*/
@Component
public class FileUitl {
@Value("${fileuitl.akid}")
private String AKID;
@Value("${fileuitl.akd}")
private String AKD;
@Value("${fileuitl.region}")
private String Region;
@Value("${fileuitl.bucketname}")
private String bucketname;
private COSClient cosClient;
private COSClient getClient() {
COSCredentials cred = new BasicCOSCredentials(AKID, AKD);
ClientConfig clientConfig = new ClientConfig(new Region(Region));
cosClient = new COSClient(cred, clientConfig);
return cosClient;
}
public String upLoadFileTX(String key, File file) {
if (cosClient == null) {
cosClient = getClient();
}
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketname, key, file);
PutObjectResult putObjectResult = cosClient.putObject(putObjectRequest);
return putObjectResult.getETag();
}
public void delFileTX(String key) {
if (cosClient == null) {
cosClient = getClient();
}
cosClient.deleteObject(bucketname, key);
}
}
5.pom.xml引入依赖
com.qcloud
cos_api
5.4.10