java客户端模拟表单上传文件

Java使用HttpClient上传文件 上传所用httpclient版本为4.5.1客户端:/** * 模拟表单上传文件 * postFile 上传的文件 * postUrl 请求地址 * postParam 其他表单的请求参数 */ public static Map<String,Object> uploadFileByHTTP(File postFile,St... 阅读详情
package client;
 
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
 
public class FileUpload {
 
     /**
      * 发送请求
      *
      * @param url
      *            请求地址
      * @param filePath
      *            文件在服务器保存路径(这里是为了自己测试方便而写,可以将该参数去掉)
      * @return
      * @throws IOException
      */
     public int send(String url, String filePath) throws IOException {
 
         File file = new File(filePath);
         if (!file.exists() || !file.isFile()) {
             return - 1 ;
         }
 
         /**
          * 第一部分
          */
         URL urlObj = new URL(url);
         HttpURLConnection con = (HttpURLConnection) urlObj.openConnection();
 
         /**
          * 设置关键值
          */
         con.setRequestMethod( "POST" ); // 以Post方式提交表单,默认get方式
         con.setDoInput( true );
         con.setDoOutput( true );
         con.setUseCaches( false ); // post方式不能使用缓存
 
         // 设置请求头信息
         con.setRequestProperty( "Connection" , "Keep-Alive" );
         con.setRequestProperty( "Charset" , "UTF-8" );
 
         // 设置边界
         String BOUNDARY = "----------" + System.currentTimeMillis();
         con.setRequestProperty( "Content-Type" , "multipart/form-data; boundary="
                 + BOUNDARY);
 
         // 请求正文信息
 
         // 第一部分:
         StringBuilder sb = new StringBuilder();
         sb.append( "--" ); // ////////必须多两道线
         sb.append(BOUNDARY);
         sb.append( "\r\n" );
         sb.append( "Content-Disposition: form-data;name=\"file\";filename=\""
                 + file.getName() + "\"\r\n" );
         sb.append( "Content-Type:application/octet-stream\r\n\r\n" );
 
         byte [] head = sb.toString().getBytes( "utf-8" );
 
         // 获得输出流
 
         OutputStream out = new DataOutputStream(con.getOutputStream());
         out.write(head);
 
         // 文件正文部分
         DataInputStream in = new DataInputStream( new FileInputStream(file));
         int bytes = 0 ;
         byte [] bufferOut = new byte [ 1024 ];
         while ((bytes = in.read(bufferOut)) != - 1 ) {
             out.write(bufferOut, 0 , bytes);
         }
         in.close();
 
         // 结尾部分
         byte [] foot = ( "\r\n--" + BOUNDARY + "--\r\n" ).getBytes( "utf-8" ); // 定义最后数据分隔线
 
         out.write(foot);
 
         out.flush();
         out.close();
 
         /**
          * 读取服务器响应,必须读取,否则提交不成功
          */
 
         return con.getResponseCode();
 
         /**
          * 下面的方式读取也是可以的
          */
 
         // try {
         // // 定义BufferedReader输入流来读取URL的响应
         // BufferedReader reader = new BufferedReader(new InputStreamReader(
         // con.getInputStream()));
         // String line = null;
         // while ((line = reader.readLine()) != null) {
         // System.out.println(line);
         // }
         // } catch (Exception e) {
         // System.out.println("发送POST请求出现异常!" + e);
         // e.printStackTrace();
         // }
 
     }
 
     public static void main(String[] args) throws IOException {
         FileUpload up = new FileUpload();
         System.out.println(up.send( "http://localhost:8080/fileupload/upload" ,
                 "c:\\girls.gif" ));
         ;
     }
}

2. [文件] fileupload.zip ~ 23KB     下载(110)     


转:http://www.oschina.net/code/snippet_1029535_23824
http模拟POST表单上传文件 http模拟POST表单上传文件 客户端是模拟POST表单提交数据 服务端负责接收上传的文件并保存到本地 立即下载

相关推荐

java处理文件上传的底层实现以及java模拟post协议实现文件上传

使用java处理文件上传的底层实现流程以及java模拟post协议实现文件上传

Java 实现表单文件上传功能

java后台发起上传文件http post 请求

PhilipJ0303的博客 1228

pentaho-kettle依赖拉取失败?试试这个Maven仓库配置的终极解决方案

本文详细解析了Pentaho Kettle依赖拉取失败的常见原因,并提供了三种Maven仓库配置方案,包括基础pom.xml配置、全局settings.xml设置以及企业级私有镜像仓库搭建。通过实战验证的方法和常见问题排查指南,帮助开发者彻底解决pentaho-kettle依赖问题,提升项目构建效率。

weixin_30275415的博客 205

使用Java实现文件的上传

基于表单实现文件上传。

weixin_64632563的博客 2338

Aruba CX交换机VSX配置实战:如何避免脑裂导致的网络中断(含详细命令)

本文提供Aruba CX交换机VSX配置的实战指南,重点讲解如何通过构建高可靠的ISL链路聚合与独立隔离的Keepalive链路,有效避免网络脑裂风险。文章包含详细的命令步骤,从基础配置到高级故障排查,帮助网络工程师构建坚如磐石的高可用核心网络,确保业务流量零中断。

weixin_29231725的博客 172

算法竞赛推荐书单

前言 入坑算法竞赛已经一年半了,在这期间也读了不少关于算法竞赛的书,这些书对我的帮助还是蛮大的。平时看题解多是个人零散的题解,很难以系统的去学习,认认真真的挑选1-2本书来阅读,无论是从思维能力还是文字表达能力都会得到提升,以下都是我自己读过的书进行一下分享,难度由浅入深,部分书籍浅尝而止。 入门:《啊哈!算法》 适合:总题量150以下初步掌握C语言的萌新 一本充满智慧和趣味的算法入门书。没有枯燥的描述,没有难懂的公式,一切以实际应用为出发点,通过幽默的语言配以可爱的插图来讲解算法。你更像是在阅读一个个轻松

TGX的博客 8245

Java模拟formdata发送请求-文件上传

public String upload() { //HttpHeaders httpHeaders = RestTemplateUtils.basicAuthenticationInfo(poAuthConfig.getUsername(), poAuthConfig.getPassword()); //上传的地址 String url = "请求接口地址"; String filePath = "文件路径地址"; Rest.

咏絮 4921

保姆级教程:在S32K312上配置C40驱动,实现Flash读写(基于RTD 4.4.2)

本文详细介绍了在S32K312微控制器上配置C40驱动实现Flash读写的全流程,基于RTD 4.4.2库。内容涵盖环境搭建、外设配置、Flash操作实战代码及高级应用场景,特别针对LLD驱动和FLS存储操作中的常见问题提供了解决方案,帮助开发者快速掌握嵌入式Flash存储技术。

weixin_28684757的博客 259

java http请求 模拟表单上传文件 multipart/form-data 格式

package com.jl.net.exmsteel.service.impl; import com.alibaba.fastjson.JSONObject; import com.google.gson.JsonObject; import com.jl.net.exmsteel.service.DzjcConnectorService; import com.jl.net.framework.exception.BusinessException; import com.jl.net.framew

lqlscn的博客 1万+

别再死记硬背窗函数公式了!用MATLAB实战汉宁窗FIR滤波器,从频谱图看懂‘主瓣’和‘旁瓣’

本文通过MATLAB实战演示汉宁窗FIR滤波器的设计过程,帮助读者从频谱图直观理解主瓣与旁瓣的特性。文章详细对比了矩形窗与汉宁窗的频谱差异,并提供了高通滤波器设计的完整代码示例,适用于数字信号处理学习和工程应用。

weixin_30555125的博客 490

SYSU-MM01数据集评估避坑指南:从RGB/IR图像理解到Python评估脚本调优

本文详细解析了SYSU-MM01数据集在跨模态行人重识别(ReID)评估中的关键技巧与常见陷阱。从RGB/IR图像理解到Python评估脚本优化,提供了数据评估模式选择、single-shot/multi-shot差异分析、特征文件处理规范等实用指南,帮助研究者避开指标异常问题,提升评估效率与准确性。

weixin_29044713的博客 196

java模拟表单上传文件_java客户端模拟表单上传文件

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。package client;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.IOE...

weixin_35101697的博客 675

【即插即用模块】Transformer篇 | TCSVT 2025 | DAFM:双注意力聚合+反向跨模态筛选,特征精准捕捉并融合!

本文提出了一种双模态注意力融合模块(DAFM),用于增强多模态图像融合任务中的特征交互。该模块通过双注意力聚合机制,结合自注意力与跨模态注意力,有效提升特征融合效果。DAFM采用可学习平衡因子动态调整注意力权重,并运用深度卷积降低计算复杂度。实验结果表明,该模块能显著提升多模态图像融合质量,适用于RGB-红外等双模态视觉任务。模块代码实现简洁,可直接集成到现有网络中作为特征融合层使用。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 176

java表单文件,java客户端模拟表单上传文件

package client;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.OutputStream;import java.net....

weixin_42525672的博客 111

【Python机器学习】零基础掌握TweedieRegressor广义线性回归模型

本次文章主要介绍了如何使用Tweedie回归模型预测电动汽车的实际续航里程。基于车速、气温和驾驶习惯等多种因素,模型能够准确地预测出电动汽车的续航里程,从而为生产商和消费者提供有用的信息。优点总结,Tweedie回归模型在处理具有多元性和高度散布的数据方面表现出色,特别适用于需要考虑多种影响因素的预测任务。优点名称对应描述说明多元性强可以同时处理多种类型和维度的数据高度可定制允许用户自定义损失函数和正则项对异常值鲁棒能够较好地处理数据中的异常值易于解释参数和预测结果都相对容易解释。

Mr数据杨 1007

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

java 模拟上传文件_java客户端模拟表单上传文件详解

package client;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.OutputStream;import java.net....

weixin_39631519的博客 128

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

用Java模拟表单(或iPhone、Android客户端)上传文件

开发一个iPhone客户端,客户端调用我写的接口上传图片。工程需要自己测试,网上Google,找到了一个可用的代码。 参考:http://bigcat.easymorse.com/?p=764 package com.test; import java.io.BufferedReader; import java.io.File; import java.io.IOException;

Longerandlonger的专栏 2865

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

winform图片上传到java服务器_C#winform客户端模拟表单post上传文件,java服务器端接收。...

[Java] 纯文本查看 复制代码/*** 上传图片* @param ip* @param filename* @return*/@RequestMapping(value="upload",method=RequestMethod.POST)@ResponseBodypublic String upload( @RequestParam("ip") String ip,@RequestParam...

weixin_31523181的博客 340

java httpclient上传文件_Java使用HttpClient上传文件

上传所用httpclient版本为4.5.1客户端:/** * 模拟表单上传文件 * postFile 上传的文件 * postUrl 请求地址 * postParam 其他表单的请求参数 */ public static Map uploadFileByHTTP(File postFile,String postUrl,Map post...

weixin_35120567的博客 512

java表单图片接口上传_采用multipart/form-data方式 调用上传图片接口

需求: 在手机客户端调用服务器端接口 把手机中的图片上传到 接口提供的服务器上。例如 新浪微博中的发表附带图片的微博。注:这里最好不要用socker编程来实现,因为当图片过大的时候,图片被解析成二进制(或者字节数组)通过socker流传过来的时候比较慢,当网络慢的时候往往会因为超时抛异常导致不能调用接口成功。其实可以在客户端模拟表单提交一样,把图片附件上传到接口提供的服务器上。新浪和腾讯的微博都是...

weixin_31784241的博客 905

http上传图片

通过httpclient模拟提交表单,表单中包含

cuixuefeng1112的专栏 771

java后台发起上传文件的post请求(http和https)

一、http post 对于文件上传,客户端通常就是页面,在页面里实现上传文件不是什么难事,写个form,加上enctype="multipart/form-data",在写个接收的就可以了,没什么难的。如: <!DOCTYPEhtml> <html> <head> <title>HelloWorld!</titl...

yjclsx的博客 53万+

使用httpclient模拟表单上传文件,后台用struts2接收

使用httpclient模拟表单上传文件,后台用struts2接收

g414917512的博客 2745

[27期] curl模拟表单上传文件及一些设置(亲自实践)

curl模拟表单上传文件及一些设置准备两个文件,========curl.php与curl_post.php文件====------------------curl.php文件内容// 初始化$ch = curl_init();// 要上传的本地文件地址"@F:/xampp/php/php.ini"上传时候,上传路径前面要有@符号$furl = "@F:/xampp/php/ph

兄弟连_战地日记 892
上一篇: linux社区
下一篇: 共有28款Java 网店系统/电子商务开源软件
lcathm
博客等级 码龄18年 37粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值