`
cd0281
  • 浏览: 119705 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

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

 
阅读更多
页面
//黏贴图片
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="data:image/png;base64,'+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("data:image/png;base64,","");
	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控件。
分享到:
评论

相关推荐

    补丁DD8.0-130228-13年02月28日

    3、用 二进制模式 上传 update 文件夹内 所有文件 覆盖到网站根目录内(不是传update文件夹,是传update文件夹里面的文件)。 4、运行update.php 即 浏览器输入 http://您的网址/update.php 。 5、提示 更新完毕 ...

    DD8.0-130228-13年02月28日

    3、用 二进制模式 上传 update 文件夹内 所有文件 覆盖到网站根目录内(不是传update文件夹,是传update文件夹里面的文件)。 4、运行update.php 即 浏览器输入 http://您的网址/update.php 。 5、提示 更新完毕 即...

    网址渲染服务SeimiAgent.zip

    这个过程会花费很长时间如果你觉着很有必要的话,一般情况下更推荐使用发布好的二进制可执行文件 依赖 ubuntu上 sudo apt-get install build-essential g flex bison gperf ruby ...

    cmd操作命令和linux命令大全收集

    copy 1st.jpg/b+2st.txt/a 3st.jpg 将2st.txt的内容藏身到1st.jpg中生成3st.jpg新的文件,注:2st.txt文件头要空三排,参数:/b指二进制文件,/a指ASCLL格式文件 copy ipadmin$svv.exe c: 或:copyipadmin$*.* 复制...

    API之网络函数---整理网络函数及功能

    lopen 以二进制模式打开指定的文件 lread 将文件中的数据读入内存缓冲区 lwrite 将数据从内存缓冲区写入一个文件 LZClose 关闭由LZOpenFile 或 LZInit函数打开的一个文件 LZCopy 复制一个文件 LZInit 这个函数...

    WINRAR5.0正式注册版

    一个压缩文件发送给其他人,则需要考虑兼容性问题。你可以在压缩对话框中选择 "RAR" 替代 "RAR5" 选项创建 RAR 4.x 压缩文件来兼容以前版本的 WinRAR。 2. RAR 5.0 压缩算法的改变: a) 64 位 WinRAR 中最大的...

    多多返利 补丁DD8.1-130820-13年08月20日

    3、用 二进制模式 上传 update 文件夹内 所有文件 覆盖到网站根目录内(不是传update文件夹,是传update文件夹里面的文件)。 4、运行update.php 即 浏览器输入 http://您的域名/update.php 。 5、提示 更新完毕 即...

    补丁DD8.0-130127-13年01月27日

    3、用 二进制模式 上传 update 文件夹内 所有文件 覆盖到网站根目录内(不是传update文件夹,是传update文件夹里面的文件)。 4、运行update.php 即 浏览器输入 http://您的网址/update.php 。 5、提示 更新完毕 ...

    DTcms V5.0 旗舰版MSSQL源码(2018年2月7日更新)

    4. 网页编辑器使用了UEditor百度编辑器,上传进行了改造,使用二进制上传文件; 5. 支付方式,第三方登录OAuth可每个站点设置不同的配置信息,不再限于全局使用; 6. 对系统架构进行全新改造,每增加一个频道自动...

    vc++ 开发实例源码包

    19:下载流文件(rm,Media Player). Notepad++ V5.6.8 源码! 如题。 OA精灵代码 c++版 一套oa系统。 ocxdlgtest dll的一个实例。 OD反汇编引擎(带VC修改版和原版) 如题。主要文件就4个,非常适合学习,详细见源码...

    chromium-ipc-sniffer:一种在Windows上捕获Chromium进程之间的通信的工具

    但是,该项目将看不到任何没有通过管道传输的内容,这主要是共享内存IPC: Mojo数据管道内容(原始网络缓冲区,音频等) 可能还有更多事情用法您可以从“页面下载预编译的二进制文件,然后运行

    乐卡同城一卡通通用积分系统 v1.4 UTF8 bulid1219.zip

    1 解压程序,将文件以二进制形式上传到空间 2 如果是*nix主机用户,请把data文件夹以及data以内文件及文件夹、sitemap.xml的文件夹权限设为可写 3 更改config.inc.php为config.php 4 运行install/index.php 5 在...

    400个DreamWeaver插件

    此文件定义了某类型的文件以二进制或者文本方式ftp mxp/自动将窗口最大化 mxp/由MyComputer.com提供的一套投票程序,需要注册,使用烦琐 mxp/用来在Dreamweaver环境下编辑安装目录下的Extensions.txt文件,此文件...

Global site tag (gtag.js) - Google Analytics