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