form怎样正确post文件
form在HTML中,是用于收集用户输入的,基本全部浏览器都支持form。给form加入method属性。就能实现将用户在form内控件输入的信息POST到制定地址。或发送GET请求。
写了以下一段代码。为了实现将用户选择的文件。POST到server。server端文件接收代码见这里,本文仅仅讲前端。不讲后端。form用于文件上传时。数据编码属性enctype必须设置为multipart/form-data。属性说明见这里。
<form action="http://localhost:8000/upload/file=1.txt" enctype="multipart/form-data" method="post">
<input type="file">
<input type="submit" value="Send">
</form>
在FireFox中用FireBug查看HTTP报文:
Request Headers From Upload Stream
Content-Length 48
Content-Type multipart/form-data; boundary=---------------------------121841334829646
发现文件的内容根本不能POST到server。仅仅有"-----------------------------121841334829646--"能被发送到server。
用wireshark抓包也是相同的结果。
百思不得其解,就到stackoverflow发帖问了。
原来,form中的控件,仅仅有加了name属性的,才生效!
改正后的代码:
<form action="http://localhost:8000/upload/file=1.txt" enctype="multipart/form-data" method="post">
<input type="file" name="xxx">
<input type="submit" value="Send">
</form>
这是POST文件到server的全部数据:
-----------------------------30746427313740
Content-Disposition: form-data; name="xxx"; filename="1.txt"
Content-Type: text/plain 111
-----------------------------30746427313740--
当中仅仅有“111”才是文件的内容。
form怎样正确post文件的更多相关文章
- WordPress Contact Form 7插件任意文件上传漏洞
漏洞名称: WordPress Contact Form 7插件任意文件上传漏洞 CNNVD编号: CNNVD-201311-415 发布时间: 2013-11-28 更新时间: 2013-11-28 ...
- nodejs问题整理--fs.exists无法正确判断文件的问题
fs.exists方法 方法说明: 测试某个路径下的文件是否存在.回调函数包含一个参数exists,true则文件存在,否则是false. 语法: fs.exists(path, callback) ...
- django Form组件 上传文件
上传文件 注意:FORM表单提交文件要有一个参数enctype="multipart/form-data" 普通上传: urls: url(r'^f1/',views.f1), u ...
- 前端 - jquery方式 / iframe +form 方式 上传文件
环境与上一章一样 jquery 方式上传文件: HTML代码 {#html代码开始#} <input type="file" id="img" > ...
- form+iframe实现ajax文件上传
在做文件上传时除了传入文件外,还有附件参数,并且要求不刷新页面,之前是表单提交的方式,现在修改成ajax上传的方式,由于没有选择用插件,所以用form+iframe的方式,并且这种方式对IE8以上及主 ...
- 使用隐藏form表单下载文件,解决url方式下载,由于环境问题而限制url长度,满足不了所有的需求!
一 对于某些环境导出是直接用wiondow.href=url直接导出下载,有些业务需求,如员工档案等字段比较多的时候,全选导出就会引发异常,由于Nginx转发长度限制的问题, 如果运维不愿意改变环境, ...
- jfinal form表单提交文件
前台代码 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&q ...
- Html Ajax上传文件,form表单下载文件
Html中的代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type&quo ...
- Jquery.form异步上传文件常见问题解决
Jquery.form常用方法我就不多说,主要说一下在使用过程中碰到的问题 1.提示 “xxxx” is not define 或者"xxx" is not a function ...
随机推荐
- 微信小程序之裁剪图片成圆形
前言 最近在开发小程序,产品经理提了一个需求,要求微信小程序换头像,用户剪裁图片必须是圆形,也在github上看了一些例子,一般剪裁图片用的都是方形,所以自己打算写一个小组件,可以把图片剪裁成圆形,主 ...
- docker-compose文件语法解析(v3.x)
文件配置 compose文件是一个定义服务(service).网络(network)和卷(volume)的YAML文件 .Compose 文件的默认路径是 ./docker-compose.yml 提 ...
- 学习PyQuery库
学习PyQuery库 好了,又是学习的时光啦,今天学习pyquery 来进行网页解析 常规导入模块(PyQuery库中的pyquery类) from pyquery import PyQuery as ...
- Django-模型层(1)
ORM MVC或者MTV框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置即可以轻松更换数据库,这极大的减轻了开发人员的工作 ...
- Java中线程的使用
多线程的创建及启动 一.继承Thread类创建线程子类 1.在这子类中重写run方法,在run方法内写线程任务代码 2.创建该子类实例,即是创建了一个线程实例 3.调用该实例的start方法来启动该线 ...
- mysql 常用命令(一)
1. 函数向日期添加指定的时间间隔 DATE_ADD(date,INTERVAL expr type)eg:DATE_ADD(CURDATE(),INTERVAL 1 MONTH) //在当前时间加一 ...
- You Are the One (区间DP)
The TV shows such as You Are the One has been very popular. In order to meet the need of boys who ar ...
- [codeforces724E]Goods transportation
[codeforces724E]Goods transportation 试题描述 There are n cities located along the one-way road. Cities ...
- [luoguP2461] [SDOI2008]递归数列(DP + 矩阵优化)
传送门 本题主要是构造矩阵,我们只需要把那一段式子看成两个前缀和相减, 然后就直接矩阵连乘. 直接对那个k+1阶矩阵快速幂即可,注意初始化矩阵为单位矩阵,即主对角线(左上到右下)都为1其他都为0. 另 ...
- 一个SAM的样例
\[s=abcbacbcb\\ \begin{split} p \quad& fa \quad& Substrings \quad& Right \\ 1 \quad& ...