`
longgangbai
  • 浏览: 7357250 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android文件图片上传的详细讲解(四)---服务端编码

 
阅读更多

服务端上传采用commons-fileupload上传相关的文件。

package com.easyway.fileupload;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
/**
 * 文件上传的Serlvet类
 * 
 * Servlet implementation class FileImageUploadServlet
 * 
 *    此处的文件上传比较简单没有处理各种验证,文件处理的错误等。
 * 如果需要处理,请修改源代码即可。
 * @Title: 
 * @Description: 实现TODO
 * @Copyright:Copyright (c) 2011
 * @Company:易程科技股份有限公司
 * @Date:2012-7-22
 * @author  longgangbai
 * @version 1.0
 */
public class FileImageUploadServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	private ServletFileUpload upload;
	private final long MAXSize = 4194304*2L;//4*2MB
	private String filedir=null;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public FileImageUploadServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * 设置文件上传的初始化信息
	 * @see Servlet#init(ServletConfig)
	 */
	public void init(ServletConfig config) throws ServletException {
		FileItemFactory factory = new DiskFileItemFactory();// Create a factory for disk-based file items
		this.upload = new ServletFileUpload(factory);// Create a new file upload handler
		this.upload.setSizeMax(this.MAXSize);// Set overall request size constraint 4194304
		filedir=config.getServletContext().getRealPath("images");
		System.out.println("filedir="+filedir);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	@SuppressWarnings("unchecked")
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		PrintWriter out=response.getWriter();
		try {
			List<FileItem> items = this.upload.parseRequest(request);
			if(items!=null	&& !items.isEmpty()){
				for (FileItem fileItem : items) {
					String filename=fileItem.getName();
					String filepath=filedir+File.separator+filename;
					System.out.println("文件保存路径为:"+filepath);
					File file=new File(filepath);
					InputStream inputSteam=fileItem.getInputStream();
					BufferedInputStream fis=new BufferedInputStream(inputSteam);
				    FileOutputStream fos=new FileOutputStream(file);
				    int f;
				    while((f=fis.read())!=-1)
				    {
				       fos.write(f);
				    }
				    fos.flush();
				    fos.close();
				    fis.close();
					inputSteam.close();
					System.out.println("文件:"+filename+"上传成功!");
				}
			}
			System.out.println("上传文件成功!");
			out.write("上传文件成功!");
		} catch (FileUploadException e) {
			e.printStackTrace();
			out.write("上传文件失败:"+e.getMessage());
		}
	}

}

 

分享到:
评论

相关推荐

    Android图片参数客户端上传,服务端接收

    本文将详细讲解如何在Android客户端处理图片参数,以及服务端如何接收这些数据。 首先,我们需要理解Android客户端如何处理图片。这通常包括以下几个步骤: 1. **图片选择与预处理**:Android提供了多种方式让用户...

    058集-Android客户端与服务端交互-客户端GET方式登录

    本教程“058集-Android客户端与服务端交互-客户端GET方式登录”主要讲解了如何通过HTTP GET方法进行用户登录操作,这是许多移动应用的基础功能。下面将详细阐述这一过程中的关键知识点。 1. HTTP GET请求: ...

    安卓上传文件到服务器源码

    下面将详细讲解这个过程涉及的知识点。 首先,我们需要了解安卓系统中的网络通信机制。Android提供了多种方式实现网络通信,如HttpURLConnection、HttpClient(已废弃)、Volley库、Retrofit库等。在本例中,我们...

    Red5+Android 直播系统的架构服务端的直播流工程_android源码.zip

    本文将详细讲解基于Red5和Android的直播系统架构以及服务端直播流工程的相关知识点。 1. **Red5服务器**: - Red5是一个用Java开发的开源流媒体服务器,支持RTMP(Real-Time Messaging Protocol)、HLS...

    用xamarin开发android登录界面 json传值给php服务端

    本教程将详细讲解如何利用Xamarin开发一个Android登录界面,并通过JSON格式传递数据给PHP服务端。 首先,我们需要理解Xamarin的基本架构。Xamarin是一个.NET框架,它提供了C#、XAML(用于UI设计)和.NET库,使得...

    手机遥控照明+PC服务端演示程序+全套工程

    本文将详细讲解“手机遥控照明+PC服务端演示程序+全套工程”这一项目,它是一个初学者级别的实践项目,旨在帮助学习者理解如何利用易语言和E4A(Easy4App)开发手机遥控照明系统。这个系统允许用户通过WIFI连接,用...

    Android端TCP通讯实现

    本文将详细讲解如何在Android端实现TCP通讯,并介绍如何使用提供的依赖库进行集成,以及如何处理心跳包和断线重连。 首先,TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。它通过三次握手建立连接,...

    安卓开发-通过Android客户端访问web服务器,实现一个登录功能,服务端+数据库+安卓端.zip

    以下将详细讲解这一过程的关键知识点。 首先,我们需要理解客户端,即Android应用。在Android客户端,我们通常会使用HTTP或HTTPS协议来与Web服务器通信。这可以通过使用HttpURLConnection、HttpClient库或者第三方...

    Android商城项目实战,黑马教程,红孩子客户端和服务端源代码及开发文档

    这个Android商城项目实战涵盖了移动应用开发的多个关键方面,不仅锻炼了开发者的设计、编码能力,还提升了其对前后端协作的理解。通过这个项目,你可以系统地学习到如何构建一个完整的电商应用,对于提升个人技能和...

    android_udp服务端与客户端超简单通信实例(附赠得到本地IP的工程代码)

    本篇将深入讲解如何在Android中实现一个简单的UDP服务端与客户端的通信实例,并附带获取本地IP地址的代码。 首先,理解UDP协议的基础特性是至关重要的。UDP是一种无连接的协议,它不建立连接,而是直接将数据包发送...

    Android Studio基础教程源码

    - **图片**:在Android应用中,图片的处理涉及到资源管理,如将图片放入res/drawable目录,以及使用Bitmap和ImageView类进行显示。 - **服务端脚本**:可能涉及到网络请求,如使用HttpURLConnection或Retrofit与...

    Beginning_Android_4_Application_Development

    ### Android 4应用开发基础知识 #### 一、简介与背景 本书《Beginning Android 4 Application Development》是一本针对初级到中级Android开发者的详尽指南。它不仅提供了丰富的理论知识,还包括了实际案例和代码...

    Arcgis 10.2.8-1 Android示例代码和入门向导

    在了解基本概念后,指南会详细讲解如何在Android项目中集成ArcGIS SDK。这涉及到添加依赖库、创建地图视图、加载地图服务以及设置基本的地图交互操作,如缩放、平移和旋转。开发者还可以学习如何添加图层,包括从Web...

    android底层相关模块介绍

    Android的多媒体框架支持音频、视频播放和录制,本章将解析多媒体文件的编码解码过程,以及如何使用Media Framework API进行开发。 第11章:图形与渲染 Android的图形系统包括SurfaceFlinger、OpenGL ES等,本章会...

    android 经典教程

    - **媒体库操作**:讲解了如何利用MediaStore来读取设备上的多媒体资源,包括图片、音频和视频文件等。 ##### **11. 定位服务(Location Services)** - **GPS与网络定位**:介绍了如何使用GPS定位以及如何获取...

    2012年最有价值的Android开发精品文章荟萃【800篇】

    ### Android UI开发大全 **知识点概述:** - **布局管理器**:介绍各种布局管理器如LinearLayout、RelativeLayout等的使用方法。 - **自定义View**:深入探讨如何创建自定义View,包括绘制基本图形和复杂界面元素的...

    arcgis for android 10.1

    进阶教程则深入讲解了空间查询、地理编码、服务端数据交互等高级功能。 3. **案例教程** “ArcGIS+API+for+Android+案例教程.pdf”包含了一系列实际应用场景的示例,帮助开发者理解如何将GIS技术应用于不同的业务...

    Android GSON数据格式解析_客户端

    本篇将详细讲解如何在Android客户端利用GSON进行数据格式解析,以实现与服务端的有效沟通。 一、GSON简介 Gson是Google推出的一个开源库,它提供了Java对象到JSON,以及JSON到Java对象的相互转换功能。在Android...

    ArcGIS+for+Android 开发教程基础版

    14. **地图应用发布**:学习如何打包和发布你的ArcGIS for Android应用,将其上传到Google Play Store或其他分发渠道。 通过这个基础版教程的学习,开发者将掌握ArcGIS for Android的核心概念和基本操作,为进一步...

Global site tag (gtag.js) - Google Analytics