页面发送二进制流文件到后台处理

12 篇文章 0 订阅
7 篇文章 0 订阅
页面
//黏贴图片
function ImgClipBoardData(evt,row){
var position = ($(evt).prev(".menuClass").size()<=0)?'up':'down';
var current_main_body_id = ($(evt).prev(".menuClass").size()<=0)?$(evt).next().attr("mainBodyId"):$(evt).prev(".menuClass").attr("mainBodyId");
var img_data = "";
if(window.clipboardData){//判断浏览器是IE
//判断剪切板中内容是图片还是文字,如果是图片则window.clipboardData.getData("Text")取出值为空;若为文字不为空
if(window.clipboardData.getData("Text")!=null && window.clipboardData.getData("Text")!=""){
//$('#imgClipBoard_'+row).html(window.clipboardData.getData("Text"));
//initWordPase();
}else{
var x = document.getElementById("x");
//$('#imgClipBoard_'+row).html('<img src="https://img-blog.csdnimg.cn/2022010612325733387.png'+x.Base64String+'">');
//$("#img_data").val(x.Base64String);
img_data = x.Base64String;
//alert("1234"+img_data);
formsumit(img_data,position,current_main_body_id,row);

}
}else{
if(evt.clipboardData.getData("Text")==null || evt.clipboardData.getData("Text")==""){
var clipboardData = evt.clipboardData;
var sHtml = "";
for(var i=0; i<clipboardData.items.length; i++){
var item = clipboardData.items[i];
if(item.kind=='file'&&item.type.match(/^image\//i)){
//blob就是剪贴板中的二进制图片数据
var blob = item.getAsFile(),reader = new FileReader();
//定义fileReader读取完数据后的回调
reader.onload=function(){
img_data = event.target.result;//result是base64编码后的图片
//var sHtml='<img src="'+img_data+'">';
//$('#imgClipBoard_'+row).html(sHtml);
}
reader.readAsDataURL(blob);//用fileReader读取二进制图片,完成后会调用上面定义的回调函数

}
}
setTimeout(function(){
formsumit(img_data,position,current_main_body_id,row);
},500);
}else{

}
}
}
//保存图片信息
function formsumit(img_data,position,current_main_body_id,row){alert(img_data)
console.log(img_data);
img_data= img_data.replace("https://img-blog.csdnimg.cn/2022010612325733387.png","");
var num = img_data / 600000;
var str = "{}";
for(var i=1;i<=num;i++){
str["img_data"+i]=img_data.substring((i-1)*600000+1,i*600000);

}
//img_data = window.encodeURI(window.encodeURI(img_data));
console.log(img_data);
var frm = $('#statusForm');
$("#txtArea").val(img_data);
$.ajax({
type: "POST",
url: "SaveImageDataServlet",
data: img_data,
contentType :"multipart/form-data",
processData :false,
success: function (data) {
//$('#new_tweet').html(data);
// $('#txtArea').val('');
},
error: function(jqXHR, textStatus, errorThrown){
// log the error to the console

}

});
}



protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("gbk");
String datasource_main = ApplicationUtil.getDefaultDataSource(request
.getSession().getServletContext());System.out.print("121");
//String server_path = RequestUtil.getRealPath(request, "");
//----获取参数
FileOutputStream fos=new FileOutputStream("d:\\a.png");

BASE64Decoder base64=new BASE64Decoder();
byte[] buffer=base64.decodeBuffer(request.getInputStream());

fos.write(buffer);
fos.flush();
fos.close();
fos=null;
}



对于ie的话, 不支持FileReader的,需要activex控件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值