本文主要是介绍上传用base64字符串,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
@RequestMapping("/upload/image")
public Object uploadFile(@RequestBody JSONObject a) throws IOException {
File file = null;
try {
file = base64ToFile(a.getString("file"));
} catch (Exception e) {
e.printStackTrace();
}
String url = FileUtil.uploadFile(file);
return url;
}
public File base64ToFile(String base64) throws Exception {
if(base64.contains("data:image")){
base64 = base64.substring(base64.indexOf(",")+1);
}
base64 = base64.toString().replace("\r\n", "");
//创建文件目录
String prefix=".jpeg";
File file = File.createTempFile(UUID.randomUUID().toString(), prefix);
BufferedOutputStream bos = null;
FileOutputStream fos = null;
try {
BASE64Decoder decoder = new BASE64Decoder();
byte[] bytes = decoder.decodeBuffer(base64);
fos = new FileOutputStream(file);
bos = new BufferedOutputStream(fos);
bos.write(bytes);
}finally {
if (bos != null) {
try {
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return file;
}
//上传图片
$('#createImage').on('click',function(){
let param = new FormData(); //创建form对象
let signName = document.getElementById("signName");
let twojz = $('#signName').createSignature();
let blob = dataURItoBlob($('#signName').createSignature());
console.log($('#signName').createSignature());
console.log(blob);
let pmm = {"file":twojz};
let pmmStr = JSON.stringify(pmm);
param.append('file', blob, "--image" + new Date().getTime() + "client_signature.png");
let pararar = {"fileStream":blob};
let par = JSON.stringify(pararar);
$.ajax({
url:"http://localhost:8080/upload/image" , // 请求路径
type:"POST" , //请求方式
processData : false,
contentType : "application/json",
async:false,
data:pmmStr,
beforeSend: function (XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("token", "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJhZG1pbiIsImV4cCI6MTY1MDMwNzg1MH0.ciKm2SQUGbo2Olk01EnmzVnJVdON0VOgULkLP-L5OMM");
},
success:function (data) {
alert(data);
},//响应成功后的回调函数
error:function () {
alert("出错啦...")
},//表示如果请求响应出现错误,会执行的回调函数
dataType:"text"//设置接受到的响应数据的格式
});
});
});
</script>
这篇关于上传用base64字符串的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!