java模拟form表单提交图片文件
2019独角兽企业重金招聘Python工程师标准>>>
该文所示代码已过期,请见我的另一篇文章: Android使用MultipartEntityBuilder实现类似form表单提交方式的文件上传
这次要和别人开发的服务器端程序接口对接,之前实现的上传文件的方法对方接口无法接收。他们的接口需要类似这样的form提交数据:
<form enctype="multipart/form-data" action=http://url/path method="POST">
<input name="filename” type="file" />
<input type="submit" value="test" />
</form>
解决办法是引入commons-httpclient.jar,下载地址http://hc.apache.org/downloads.cgi,模拟form表单提交数据,代码如下:
File f = new File("device1.png");
PostMethod filePost = new PostMethod( "http://url/path");
Part[] parts = { new FilePart("filename", f)
};
filePost.setRequestEntity(new MultipartRequestEntity(parts, filePost .getParams()));
HttpClient clients = new HttpClient();
int status = clients.executeMethod(filePost);
try {
BufferedReader rd = new BufferedReader(new InputStreamReader( filePost.getResponseBodyAsStream(), "UTF-8"));
StringBuffer stringBuffer = new StringBuffer();
String line;
while ((line = rd.readLine()) != null) {
stringBuffer .append(line);
}
rd.close();
System.out.println("接受到的流是:" + stringBuffer + "—-" + status);
} catch (Exception e) {
throw new RuntimeException("error”,e);
}
解释一下
filePost.setRequestEntity(new MultipartRequestEntity(parts, filePost .getParams()));
设置多媒体参数,作用类似form表单中的enctype="multipart/form-data" ,
Part[] parts = { new FilePart("filename", f) };
设定参数名称和值,类似form表单中的<input name="filename” type="file" />
try catch块主要是打印服务器端回传的数据。
转载于:https://my.oschina.net/weichou/blog/352044
java模拟form表单提交图片文件相关推荐
- ajax 模拟表单提交,Ajax模拟Form表单提交,含多种数据上传
---恢复内容开始--- Ajax提交表单.使用FormData提交表单数据和上传的文件(这里的后台使用C#获取,你可以使用Java一样获取) 有时候前台的数据提交到后台,不想使用form表单上传,希 ...
- Excel 模拟form表单提交
前端模拟form表单 function batSubmit() {var temp_form = document.createElement("form");//temp_for ...
- JS模拟Form表单提交
用java写了一个下载的功能,测试没有问题,但前台就是不弹出下载的提示框. 后来发现如果你的提交方式是ajax的方式的话是不会弹出提示框的,然后换成了form提交,顺利弹框通过,下来我们就用js模拟f ...
- curl模拟form表单提交
curl模拟form表单提交 一. 首先,最简单的情况是我们只需要提交一个不带文件上传的表单,这种情况下,只需要在curl中使用–data(注意是–不是-)或者它的缩写-d即可. curl -d &q ...
- js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题...
js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题 js模拟form表单提交数据源码: /** * js模拟form表单提交 * @param ...
- ajax 表单提交传文件,Ajax提交Form表单及文件上传
刚刚申请下来的博客,写得第一篇.有点小激动,本人以前是一名工业3D设计师突然有些变故做上了JavaWeb开发: 前几天,发现了一些小问题.我在写后台管理页面时,需要上传一张图片.于是我就用很普通的Fo ...
- JS动态模拟Form表单提交数据
分享知识 传递快乐 JS动态模拟Form表单提交数据 <!DOCTYPE html> <html lang="en"> <head><m ...
- 将form表单提交文件修改为ajax提交
好久没有记录工作中的出现的问题了,不过最近客户提出了新的需求,正好弥补了一下我的短板,学到了新的知识. 周一接到客户电话,要求完善上周写的某个功能--就是同时上传多个图片,并通过接口程序传到第三方系统 ...
- 解决Form表单提交文件后台获取为null的情况
项目想做一个上传文件的功能模块,但是发现后台获取文件始终为null,而且在form表单上也配置好了需要的action属性.method属性和enctype="multipart/form-d ...
- django之:网页伪静态 JsonResponse form表单携带文件数据 CBV源码分析 模板语法传值 模板语法之过滤器 标签 自定义标签函数 过滤器、inclusion_tag模板的继承导入
目录标题 一:网页伪静态 1.定义 2.如何实现 二:视图层 1.视图函数返回值问题 2.视图层返回json格式的数据 3.form表单携带文件数据 4.CBV源码分析 1.CBV和FBV: 2.CB ...
最新文章
- Java内存模型与线程(思维导图)
- 新手小白零基础搭建个人博客(二)Hexo搭建
- 深度剖析Apache Shardingsphere对分布式事务的支持
- 赋能普通用户,面向专业级的视频内容制作技术
- ASP.NET MVC中,通用的异常处理
- 【C++】fill函数,fill与memset函数的区别
- Code First 约定
- python安装包国内地址
- html 灯箱效果,基于 BootStrap 4 的图片灯箱效果 | 智慧宫
- 对组件、模块、子系统、系统、框架、架构 定义浅析
- matlab 周期卷积,matlab连续时间信号卷积和离散时间信号卷积程序
- python3 录屏
- 三年精进笃行,用友YonSuite“数智飞轮”高速运转起来了!
- Excel学习日记:L21-表格数值格式
- 给定起止时间跨年计算周次(oracle函数)
- mysql 里的1044错误_MySQL1044错误怎样修改错误?
- 东大金智ARM工控主板助力构建新型智慧城市
- 一篇文章讲清什么是零知识证明
- html首字母检索,js城市首字母拖动检索
- 基于java的ftp客户端_基于Java的FTP客户端软件的设计