ajax上传大文件到服务器,用ajax spring boot 上传文件到文件服务器

目录

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值