`

java后台上传附件-HttpURLConnection

    博客分类:
  • java
 
阅读更多
1、定义写一个上传附件的jsp文件uploadfile.jsp

<%@ page language="java" pageEncoding="UTF-8"%>

<%@page import="java.io.*;"%>

<html>

<body>

    <%

        InputStream in = request.getInputStream();

        request.setCharacterEncoding("utf-8");

        String name = request.getHeader("filename");

        if (name != null && !"".equals(name)) {

            String savepath = request.getHeader("savepath");

            String path = request.getSession().getServletContext()

                    .getRealPath("/");

            File file = new File(path + "\\" + savepath + "\\" + name);

            FileOutputStream fos = new FileOutputStream(file);

            byte[] buffer = new byte[1024];

            int bytes = 0;

            while ((bytes = in.read(buffer)) != -1) {

                fos.write(buffer, 0, bytes);

            }

            fos.flush();

            fos.close();

            in.close();

        }

    %>

</body>

</html>



2、java代码,通过后台代码调用url上传附件

public static void httpConnectionUpload(String fname,String savepath,InputStream ins) {

        try {

            /****urlStr为http://localhost:7001/DOCLINKS/uploadfile.jsp**/

            String urlStr=PropertiesHelper.getValue("httpconn.upload.url");

            URL url = new URL(urlStr);

            HttpURLConnection conn = (HttpURLConnection) url.openConnection();

            conn.setDoOutput(true);

            conn.setDoInput(true);

            conn.setChunkedStreamingMode(1024 * 1024);

            conn.setRequestMethod("POST");

            conn.setRequestProperty("connection", "Keep-Alive");

            conn.setRequestProperty("Charsert", "UTF-8");

            conn.setRequestProperty("Content-Type", "multipart/form-data;charset=utf-8;file=" +fname);

            conn.setRequestProperty("filename", fname);//文件名

            conn.setRequestProperty("savepath", savepath);//存储文件夹

            OutputStream out = new DataOutputStream(conn.getOutputStream());

            DataInputStream in = new DataInputStream(ins);

            int bytes = 0;

            byte[] bufferOut = new byte[1024];

            while ((bytes = in.read(bufferOut)) != -1) {

                out.write(bufferOut, 0, bytes);

            }

            in.close();

            out.flush();

            out.close();

        } catch (Exception e) {

            e.printStackTrace();

        }

    }
分享到:
评论

相关推荐

    基于java开发的地图查找附件

    在Java开发领域,地图查找附件通常指的是利用Java编程语言实现的一种功能,允许用户在应用程序中搜索、定位和导航到地图上的特定位置。这种附件或组件可以集成到各种类型的软件中,如桌面应用、Web应用或者移动应用...

    java手机程序设计入门与应用-王森

    Java手机程序设计是移动开发领域中的一个重要组成部分,尤其在Android平台占据主导地位的今天,学习Java语言进行手机程序设计已经成为很多开发者入门的选择。王森老师的《java手机程序设计入门与应用》很可能是一本...

    java 从服务器下载文件并保存到本地的示例

    "Java从服务器下载文件并保存到本地的示例" Java从服务器下载文件并保存到本地的示例是Java开发中的一种常见操作,本篇文章主要介绍了如何使用Java从服务器下载文件并保存到本地的示例代码。 下载文件的基本流程 ...

    Java手机与计算机互发彩信源码

    Java手机与计算机互发彩信源码是一种实现移动设备与桌面系统之间通信的技术,主要利用了Java的网络编程能力和多媒体消息服务(MMS)协议。本文将深入探讨这个主题,介绍相关知识点,包括Java编程基础、MMS协议、网络...

    安卓+servlet上传下载图片

    在Android应用开发中,我们经常需要处理文件的上传和下载,特别是图片和文字。这里我们将探讨如何使用Servlet作为服务器端,配合Android客户端实现这一功能。 首先,Servlet是Java Web技术的一部分,它允许开发者...

    致远OA开发REST远程接口实现发送表单

    3. **发起请求**:使用Java的HTTP客户端库,如Apache HttpClient或者Java内置的HttpURLConnection,向配置好的REST接口发送请求。在这个过程中,你需要设置HTTP头信息,比如Content-Type(通常为application/json)...

    android通过servlet服务器保存文件到手机

    最后,为了优化用户体验,你可能需要在后台线程中执行网络请求,避免阻塞UI线程。你可以使用`AsyncTask`、`Thread`、`ExecutorService`或Android的现代网络库,如`Retrofit`或`Coroutines`来实现这一点。 总的来说...

    精典源码之仿QQ邮箱安卓客户端项目.rar

    5. 网络请求:使用HttpURLConnection或第三方库如OkHttp进行网络请求。 6. JSON解析:解析服务器返回的数据,可能使用Gson或Jackson库。 7. 异步处理:可能使用AsyncTask、IntentService或现代的LiveData、...

    Android_ZhiHuDaliy:高仿知乎日报

    4. **网络请求与数据解析**:知乎日报的数据通常是通过网络接口获取的,因此项目中可能使用了HttpURLConnection或OkHttp等网络库进行网络请求。数据通常以JSON格式返回,需要使用Gson或Jackson等库进行解析,将数据...

    电子邮件客户端软件

    Java的HTTP客户端库如HttpURLConnection或Apache HttpClient可以用来与这些服务的API交互。 总之,开发一个电子邮件客户端软件涉及到众多Java技术和概念,从邮件协议的实现到用户界面的设计,再到安全性管理和服务...

    android应用源码仿小米便签.zip

    9. **异步编程**:为了提高用户体验,复杂的操作通常在后台线程执行,然后通过Handler、AsyncTask或者现代的Coroutines(Kotlin)或RxJava(Java)进行回调。这样可以在不影响主线程的情况下进行耗时任务。 10. **...

    learnAndroid:学习代码

    1. **环境搭建**:首先,学习者需要了解如何设置Android开发环境,包括安装Java Development Kit (JDK),Android Studio,以及配置Android SDK。 2. **基本概念**:Android应用的基础结构,如Activity(活动)、...

Global site tag (gtag.js) - Google Analytics