当前位置:编程学习 > JAVA >>

java web service 上传一定要把文件转成字节上传吗

补充:能不能 直接上传FILE文件 ,还是一定转成byte[]上传 web service中 我用的xfire 做的, 上传byte[] 是可以的,但是 上传file 就报异常
追问:你有没有  web service  上传例子是的  我也是用个byte【】上传的我用  byte【】做好了 我就想知道 file为什么不能传
答案:你的问题问的有些怪。所有的计算机数据不都是字节形式的吗?
我想,你想问的是:是否必须进行转义吧?
答案是否定的,是否需要某种格式的处理,需要看服务器端的协议约定。 
===================

那是肯定的,传输数据时必然要使用BYTE[]。
其他:保存到本地一个文件 后缀与下载地址的后缀相同·· 上传的话 将某个文件流 转成字节流 上传到某个webservice方法里 -要代码来代码 URL url=new URL( 貌似我以前上传文件时必须得转成byte[]上传 不能上传file,要转成byte[],这样不难呀.
  @Override
			protected void doPost(HttpServletRequest request,   
		            HttpServletResponse response) throws ServletException, IOException {
		    	//要下载的文件在服务器上保存的名字
		    	String savename = java.net.URLDecoder.decode(request.getParameter("saveName"), "UTF-8");		    
		        String webUrl=request.getSession().getServletContext().getRealPath("/"); //  获取当前程序的路径
				String fullPath = webUrl+"uploadDir"+ File.separator + savename;   //  拼写成完整的路径
				byte[] content = null;
				File readFile = new File(fullPath);
				if(readFile.exists()){
					FileInputStream fi = new FileInputStream(fullPath);
					BufferedInputStream in = new BufferedInputStream(fi);
					
					ByteArrayOutputStream out = new ByteArrayOutputStream(1024*1024);
					byte[] temp = new byte[1024*1024];
					int size = 0;
					while ((size = in.read(temp)) != -1) {
					out.write(temp, 0, size);
					}
					in.close();
					
					content = out.toByteArray();
					
				}
				//设置编码
				response.setCharacterEncoding("utf-8");
				response.setContentType("text/plain");  
				//设置文件名
		        response.setHeader("Content-disposition", "attachment;filename="+
		        		java.net.URLEncoder.encode(savename.substring(14),"utf-8"));
		  
//		        System.out.println(savename);

		        OutputStream out = response.getOutputStream();   
		        out.write(content);   
		        out.flush();   
		        out.close(); 
		          
		    }   
		  
		    @Override
			protected void doGet(HttpServletRequest req, HttpServletResponse resp)   
		            throws ServletException, IOException {   
		        doPost(req, resp);   
		    }

上一个:java me适合所有手机编程吗?
下一个:Java:eclipse 输入函数Ppl

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,