ruoyi框架上传文件的实现


来源于 https://blog.csdn.net/qq_37262837/article/details/104663950

 

HTMl页面:
<div class="form-group">
<label class="col-sm-3 control-label">上传安装包:</label>
<div class="col-sm-8">
<input name="url" class="form-control" type="file" onchange="uploadFile('url')">
<textarea id="url" name="url" class="form-control" readonly rows="4">
[[*{url}]]</textarea>
<!-- <input id="url" name="url" class="form-control" type="hidden"> -->
</div>
</div>


JS中:
function uploadFile(filePath) {
$.modal.loading("文件上传中,请勿做其他操作,耐心等待"); //若依的遮罩
var formData = new FormData();
if ($("input[name='" + filePath + "']")[0].files[0] == null) {
$.modal.alertWarning("请先选择文件路径");
return false;
}
formData.append('file', $("input[name='" + filePath + "']")[0].files[0]);
$.ajax({
url: ctx + "module/versionInfo/uploadFile",
type: 'post',
cache: false,
data: formData,
processData: false,
contentType: false,
dataType: "json",
success: function (result) {
$("#url").val(result.msg);
$.modal.closeLoading(); //遮罩结束
}
});
}

 


Controller层:
@PostMapping(value = "/uploadFile")
@ResponseBody
public AjaxResult uploadFile(@RequestParam("file") MultipartFile file) throws IOException {
// 上传安装包
log.info(new DateTime()+"=========开始上传1==============");
String str = UploadFileToOSSUtils.uploadFileByByte(file.getBytes());
return success(str);
}


上传文件的工具类:
/**
* 上传安装包
*
* @param fileByte
* @return
*/
public static String uploadFileByByte(byte[] fileByte) {
//System.out.println(new DateTime()+"======开始上传2=========" );
InputStream sbs = new ByteArrayInputStream(fileByte);
OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
String key = UUID.randomUUID().toString() + System.currentTimeMillis() + ".apk";
ossClient.putObject(bucketName, key, sbs);
//System.out.println(new DateTime()+"=====上传结束1==========");
OSSObject object = ossClient.getObject("zhuxing-public", key);
////System.out.println(new DateTime()+"=====上传结束2==========");
ossClient.shutdown();
String uri = object.getResponse().getUri();
//System.out.println(new DateTime()+"========上传结束3============");
if (uri.contains("http")) {
uri = uri.replace("http", "https");
}
return uri;
}




免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM