-
java后台发起上传文件的post请求(http和https)
2019-07-31 19:11:04对于文件上传,客户端通常就是页面,在页面里实现上传文件不是什么难事,写个form,加上enctype="multipart/form-data",在写个接收的就可以了,没什么难的。如: <!DOCTYPEhtml> <html> <head> ...一、http post
对于文件上传,客户端通常就是页面,在页面里实现上传文件不是什么难事,写个form,加上enctype = "multipart/form-data",在写个接收的就可以了,没什么难的。如:
- <!DOCTYPE html>
- <html>
- <head>
- <title>Hello World!</title>
- </head>
- <body>
- <form method="POST" enctype="multipart/form-data" action="/XXX">
- <p>文件1:<input type="file" name="file1" /></p>
- <p>文件:<input type="file" name="file" /></p>
- <p>其他信息:<input name="luid" /></p>
- <p><input type="submit" value="上传" /></p>
- </form>
- </body>
- </html>
如果要用java.net.HttpURLConnection来实现文件上传,还真有点搞头,实现思路和具体步骤就是模拟页面的请求,页面发出的格式如下:
- -----------------------------7da2e536604c8
- Content-Disposition: form-data; name="luid"
- 123
- -----------------------------7da2e536604c8
- Content-Disposition: form-data; name="file1"; filename="D:\haha.txt"
- Content-Type: text/plain
- haha
- hahaha
- -----------------------------7da2e536604c8
- Content-Disposition: form-data; name="file"; filename="D:\huhu.png"
- Content-Type: application/octet-stream
- 这里是图片的二进制数据
- -----------------------------7da2e536604c8--
上面username是form表单中的文本参数,值为123,file1是form表单中上传的文本文件。file是form表单中上传的其他类型的文件,他们的Content-Type不一样。
知道了这些,就可以编写代码来模拟了,这里只上传一个文件file,是张图片,附上代码的截图:
以上的空行"\r\n"是比较严格的,要换行或者换两行,都是根据格式来的。
二、https post
一般都是http的请求,但现在也有越来越多的外部接口采用https的方式来调用。比如这次工作中需要调用的FaceId他们的身份证识别接口,这个接口就是https的,而且传递的参数里还需要身份证照片,这明显是个文件。如下:
java后台发起https的文件上传请求的原理以及整个步骤和http的基本一致,只是这次的URLConnection是HttpsURLConnection,而且由于https的请求需要签名等安全认证,所以会在设置HttpsURLConnection时需要多设置两个属性,如下的setSSLSocketFactory()和setHostnameVerifier():
所需要的TrustAnyTrustManager类和TrustAnyHostnameVerifier类代码如下:
其他的代码就和HttpURLConnection的一样了。
以上的代码都是使用JDK自带的net工具类,然后模拟页面的form发出的请求来完成的,如果想使用HttpClient来完成发送请求也是可以的,并且更加简单明了,不需要自己写模拟的步骤。因为是第三方工具包,需引入对应jar包:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.5.2</version>
</dependency>
编写的代码如下:
以上代码都是经过测试的测试代码,你可以自己封装好以供自己今后使用(ps:别想复制,代码都是图片,因为我在沙盒内,代码复制不出来0.0)!
-
nginx修改上传文件大小限制
2018-03-29 09:28:16上传超过1M大的客户端文件无法正常上传,nginx直接报错,上传文件太大,于是修改了下nginx的配置,就可以了。 按照网上所说的加上client_max_body_size 字段,怎么重启nginx都不行。后来发现放的位置有问题! ...自己搭的服务器,用nginx做代理。上传超过1M大的客户端文件无法正常上传,nginx直接报错,上传文件太大,于是修改了下nginx的配置,就可以了。
按照网上所说的加上client_max_body_size 字段,怎么重启nginx都不行。后来发现放的位置有问题!server { listen 80; server_name localhost; client_max_body_size 10M; location /web { alias D:/web; index main.html; } location /web/service { proxy_pass http://192.168.1.188:8080/service; } location /web/service/upload { proxy_pass http://192.168.1.188/upload; } }
client_max_body_size 10M 必须要放在server下的server_name下,而不是放在localhost /web的大括号里
-
Git 上传文件、文件夹、项目到 Github
2017-05-27 00:57:54Git 上传文件、文件夹或项目到 Github Git 基础知识学习 配置Git、SSH 建立仓库 克隆仓库 上传 README.md 文件 推送项目Git 上传文件、文件夹或项目到 Github
-
配置Git、SSH
-
下载、安装 Git
-
绑定用户
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
-
配置 SSH
-
**1、**在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开GitBash),创建SSH Key,密码可以不设置直接回车
$ ssh-keygen -t rsa -C "youremail@example.com"
如果一切顺利的话,可以在用户主目录里找到
.ssh
目录,里面有id_rsa
和id_rsa.pub
两个文件,这两个就是SSH Key
的秘钥对,id_rsa 是私钥,不能泄露出去,id_rsa.pub
是公钥,可以放心地告诉任何人。用记事本打开id_rsa.pub
(C:\Users\Administrator\.ssh
),得到ssh key 公钥。**2、**为 Github 账户添加 ssh key 。登录 Github,展开个人头像的小三角,点
settings
,然后打开SSH keys
菜单,点击Add SSH key
新增密钥,填上标题。- 建立仓库
填一下仓库名称,Initialize this repository with a README是可选的,建议在创建时选上,可以在后面省一个步骤。填好之后,点Create repository完成仓库的建立
- 克隆仓库
**如果是全新的项目没有任何文件,也可以不用克隆仓库,跳过这一步。**点开 Git Shell,进入命令行。首先我们先要把 GitHub 上的我们新建的仓库 clone下来。在初始化版本库之前,先要确认认证的公钥是否正确
$ ssh -T git@github.com
如果收到成功的确认消息,就可以开始克隆远程仓库了(以我的一个项目为例)
$ git clone https://github.com/jerryhanjj/baike_spider.git
远程仓库的地址可以在自己的
Github
项目上找到(以我的为例)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AZIGbyTk-1617018500264)(http://i.imgur.com/ndADEqn.jpg)]
克隆仓库之后就在文件夹中出现了项目文件夹及文件,进入项目文件夹,对其进行初始化
$ git init
- 上传 README 文件
如果在创建
Github
仓库时没有勾选创建README.md
文件,则要先创建README.md
文件,不然上传文件会报错。如果已经勾选,可以跳过此步骤。$ git init $ touch README.md $ git add README.md $ git commit -m 'first_commit' $ git remote add origin https://github.com/jerryhanjj/baike_spider.git $ git push origin master
- 上传项目
跟踪项目文件夹中的所有文件和文件夹
$ git add .
输入本次的提交说明,准备提交暂存区中的更改的已跟踪文件,单引号内为说明内容
$ git commit -m 'first_commit'
关联远程仓库,添加后,远程库的名字就是
origin
,这是Git
默认的叫法,也可以改成别的,但是origin
这个名字一看就知道是远程库。$ git remote add origin https://github.com/jerryhanjj/baike_spider.git
如果关联出现错误
fatal: remote origin already exists
,则执行下列语句再进行关联git remote rm origin
把本地库的所有内容推送到远程库上
$ git push -u origin master
如果在推送时出现错误
error:failed to push som refs to.......
,则执行下列语句git pull origin master
将远程仓库
Github
上的文件拉下来合并之后重新推送上去,如果在推送时失败,提示fatal: refusing to merge unrelated histories
,则执行下列语句git pull origin master --allow-unrelated-histories
-
Postman Post请求上传文件
2018-06-01 14:36:48Postman Post请求上传文件一、选择post请求方式二、填写HeadersKey:Content-TypeValue:multipart/form-data[{"key":"Content-Type","value":"multipart/form-data","...Postman Post请求上传文件
一、选择post请求方式,输入请求地址
二、填写Headers
Key:Content-Type
Value:multipart/form-data
[{"key":"Content-Type","value":"multipart/form-data","description":"","enabled":true}]
如下图
三、填写body
选择form-data
然后选择文件file
点击添加文件,最后发送即可
-
springMVC上传文件,使用MultipartHttpServletRequest、MultipartFile进行文件上传
2018-07-04 00:21:51先编写上传文件帮助类,如果需要区分文件类型,可以将文件后缀截取进行判断; springmvc-mvc.xml配置,这里主要配置springmvc解析器CommonsMultipartResolver等等,这里主要是配置文件上传解析器,下面是配置文件... -
ElementUI上传文件-限制上传文件个数
2020-03-11 18:06:02固定上传文件个数 if(vm.fileList.length!==2){ this.$message.warning(`请上传有且仅有2个文件。`); return } 限制上传文件个数 <el-form-item label="上传文件" prop="fileList"> <el-upload ... -
js上传文件获取文件流
2017-09-20 21:42:09上传文件获取文件流 -
文件上传java ftpClient上传文件时总是卡在storeFile方法
2020-02-06 01:10:41java ftpClient 上传文件时总是卡在"storeFile()"方法解决方案。 搜集了很久的资料一直在找卡在storeFile()方法的原因,网上都说设置这行代码 ftpClient.enterLocalPassiveMode(); 但是我一开始就添加了。。。。。 ... -
SpringBoot上传文件
2020-12-19 16:44:55SpringBoot单文件上传,多文件上传 环境/版本一览: 开发工具:Intellij IDEA 2020.2.3 springboot:2.3.7.RELEASE jdk:1.8.0_211 maven:3.6.3 目录结构 1.搭建项目 1.1 先创建一个springboot工程加入web... -
Swagger2的上传文件
2019-11-25 18:23:35在@ApiImplicitParams中不写对应的上传文件的元素, 在Controller层中的方法接收请求参数写上 @ApiParam(value = “上传的文件”, required = true) @RequestParam(value = “file”) MultipartFile multipartFile ... -
百度网盘上传文件限制500个
2017-04-12 09:43:09360机吧不让上传了,换到百度,上传文件时,弹出上传文件限制为500个,吓到我了,以为只能上传500个文件,要升级vip,其实是只要单次传输不要超过500 个文件就ok了,做这个限制是为了什么?不太明白? -
上传文件&上传按钮
2019-04-27 14:47:22在实际应用中,用户上传文件是必不可少的一个功能,当然form表单中,也有专门的input来上传文件,最基础的上传文件功能的实现: <form action = " " method = "post" enctype= "multipart/form-data "> <... -
FastDFS上传文件二 : 多文件上传
2017-09-27 15:28:13FastDFS上传文件二 : 多文件上传 -
angular上传文件和ajax上传文件
2017-11-21 17:32:10angular上传文件var uploadFile=document.querySelector("#uploadFile").files[0]; //jquery获取$("#uploadFile").prop("files")[0]; var formData = new FormData(); formData.append('fileTypeId', fileType);//... -
Linux上传文件
2020-04-17 05:59:10上传文件只需在shell终端仿真器中输入命令“rz”,即可从弹出的对话框中选择本地磁盘上的文件。 下载文件只需在shell终端仿真器中输入命令“sz 文件名”,即可利用Zmodem将文件下载到本地某目录下。 ... -
spring boot 上传文件
2018-12-04 12:56:351、为保证服务器安全,上传文件应该放在外界无法直接访问的目录下,比如放于WEB-INF目录下。 2、为防止文件覆盖的现象发生,要为上传文件产生一个唯一的文件名。 3、为防止一个目录下面出现太多文件,要使用... -
写给大忙人看的 - Java中上传文件MinIO服务器(二)
2020-05-10 18:25:48上一篇 写给大忙人看的 - 搭建文件服务器 MinIO(一),我们已经成功地搭建了 MinIO 文件服务器,这一篇讲解在 Java 中如何上传文件至 MinIO 一、开发前戏 1、项目中引入 maven 依赖 <!-- minio 相关依赖 --> ... -
layui upload 多文件类型上传及上传文件限制类型
2020-04-09 16:35:04layui upload 多文件类型上传及上传文件限制类型 实际需求的话是用户通过不同对应的入口,上传多种类型的文件,并且在选择文件的时候,只能看到选择的文件类型。 点击不同的入口,限制选择的文件类型 这是... -
Html上传文件php处理上传文件
2015-09-05 14:42:42php上传文件处理 众所周知,文件上传在一些网站应用中是必不可少的一部分。比如个人博客上传个性头像,一些论坛分享好的学习资料等,这就涉及到使用表单处理文件上传的知识,在php中我们可以使用$_FILES这个全局... -
如何使用FTP上传文件(FTP文件传输)
2019-03-25 00:25:28使用FTP上传文件 利用FTP和云服务器进行文件传输首先需要 云服务器配置好FTP环境后,您可以通过: 1.资源管理器 2.第三方软件 与服务器进行文件传输 与服务器进行文件传输时首先要确保服务器安全组开放了21端口... -
layui上传文件提示上传异常,实际文件已经上传成功
2018-04-22 18:15:36layui上传文件提示上传异常,实际文件已经上传成功原因:上传回调的方法接收的参数应该是json格式的,之前返回的是String,所以一直走异常的方法 @ResponseBody @RequestMapping("/web/upload") public ... -
wangEditor 上传文件
2018-05-30 15:25:14最近在使用一个wangEditor富文本编辑器,这个富文本编辑器有一个上传文件的功能,搞了两天的时间终于终于可以成功的删除上传图片了,遇到的问题一共有两个,一个是我使用SpringMVC,一开始上传文件后台是无法接收到... -
Binary格式上传文件
2020-06-17 21:16:31Binary格式上传文件 1.form-data、x-www-form-urlencoded、raw、binary的区别 form-data: http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以... -
HTTP文件上传请求格式详解,利用HttpURLConnection上传文件
2017-07-21 11:24:43HttpURLconnection上传文件 -
Selenium上传文件
2019-01-15 19:20:53input标签可以直接使用send_keys(文件地址)上传文件 示例: el = driver.find_element_by_id('fileid') el.send_keys(r"F:\Python\testcase.txt") 二、 非input标签(如a标签,div标签,butt... -
上传文件,经过Zuul,中文文件名乱码解决办法
2017-08-14 21:51:31问题描述在项目中又一个上传文件的oss服务,直接调用服务的上传文件成功,如果经过网关zuul服务,上传中文名字的文件,文件名会出现乱码,最终导致上传失败,如果上传英文名字的文件,没有任何问题。怀疑网关zuul对... -
接收上传文件
2017-09-07 09:51:00使用Flask框架编写上传文件的服务器端也很简单,它与处理get和post参数具有相似的地方,客户端上传的文件相关信息会被保存在flask.request.files对象中,通过这个对象。可以获取上传的文件名和文件对象,然后通过... -
AngularJS上传文件
2017-02-26 17:55:35使用AngularJS上传文件 前台是Angular页面 后台使用SpringBoot/SpirngMVC 上传文件 html <div> <input id="fileUpload" type="file" /> <... -
Vue Element UI + OSS上传文件
2018-08-06 23:08:04查看upload组件的上传源码upload/ajax,使用的XHR对象上传文件,在项目实践中,发现该上传方法上传大文件时会出现问题,所以决定使用阿里云对象存储服务(Object Storage Service,简称OSS),OSS详细介绍可以查看...