将blob传输到scriplet并上传

41zrol4v  于 2021-07-03  发布在  Java
关注(0)|答案(0)|浏览(169)

尝试(但失败)修改scriplet以便上载blob。我知道jsp中的java不是一种好的形式,但它似乎对我很有用。
blob(图像对象/从base64图像转换而来)是“thisblob”。有些人提到这需要在一个表格前上传,其他人没有。两种方法都尝试过,但当我尝试在scriplet中定义blob时,当前出现类型错误。
输入/输出流用于一个图像url,我想将其转换为与blob一起使用。
值得欣赏的想法(可能不是世界上最好的代码)

//name the blob a jpeg file and upload
function uploadFile(thisblob) {

// may not require conversion to a const / formData
const fd = new FormData()
fd.append('cancel.jpeg', thisblob);
alert("formData is" +fd);

pageContext.setAttribute("blobtogo", thisblob);

<%
//type error here
Blob transferblob = request.getParameter("blobtogo");

try {

String root = getServletContext().getRealPath("/uploads/");

//not sure what to do here
BufferedInputStream bis = new BufferedInputStream(transferblob.getInputStream());
String nm = System.currentTimeMillis() + ".jpg";
String filepath = root + "/" + nm;

FileOutputStream fos = new FileOutputStream(new File(filepath));

byte[] bs = new byte[1024];
int len;
while ((len = bis.read(bs, 0, bs.length)) != -1) {
fos.write(bs, 0, len);
}
fos.close();
bis.close();
response.getWriter().print("http://localhost:8090/wz/uploads/" + nm );
}
catch (Exception ex) {
ex.printStackTrace();
}

%>

向拉尔夫问好

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题