㈠ html 表单中 上传 文件格式
如果post中没有收到文件而收到了其他的提交数据,那么可以确定为文件没有上传。
但因为问题描述比较抽象所以原因有很多,比如不通过控件而直接填写文件路径在部分浏览器里不兼容,比如浏览器安全策略不允许脚本(js)控制提交等等。
㈡ formdata怎么上传文件和数据
html代码
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>多文件上传</title>
<script src="jquery.js"></script>
<script>
$(function(){
$("#btn").click(function(){
var formData = new FormData();
for(var i=0; i<$('#file')[0].files.length;i++){
formData.append('file[]', $('#file')[0].files[i]);
}
$.ajax({
url: "test.php",
type: "POST",
processData: false,
contentType: false,
data: formData,
success: function(d){
}
});
});
})
</script>
</head>
<body>
<form>
<input type="file" multiple id="file" name="file[]" >
<input type="button" id="btn" value="提交"/>
</form>
</body>
test.PHP代码:
<?php
var_mp($_FILES);die();
㈢ jquery-from.js上传附件,回调返回的结果是前端页面或者是下载文件!!!
如果可以的话,建议使用后台后端语言,这样语法丰富很多,而且PHP中的文件上传,返回的值特别多,还有文件操作,文件读取等等,不要局限于一种语言。。o(^▽^)o
㈣ form表单怎么能直接提交ftp服务器上,把文件上传到ftp服务器上!
没办法直接传的!
你只能用表单先传到web服务器上,
然后再从web服务器上传到FTP上!(可以自己写一个服务程序)
㈤ form 在上传文件时用enctype字段有什么用处
FORM元素的enctype属性指定了表单数据向服务器提交时所采用的编码类型,默认的缺省值是“application/x-www-form-urlencoded”。
这种编码方式在表单发送之前都会将内容进行urlencode 编码。(空格转换为“+”,特殊字符转化为ASCII的HEX值)。
比如我们在表单域中的
firstname填入 bb ,,
最后发送之前得到的结果就是: bb+%2C%2C
然而,在向服务器发送大量的文本、包含非ASCII字符的文本或二进制数据时这种编码方式效率很低。
在文件上载时,所使用的编码类型应当是“multipart/form-data”,它既可以发送文本数据,也支持二进制数据上载。
浏览器端<form>表单的ENCTYPE属性值为multipart/form-data,它告诉我们传输的数据要用到多媒体传输协议,由于多媒体传输的都是大量的数据,所以规定上传文件必须是post方法,<input>的type属性必须是file。
㈥ form提交后台上传文件,为什么得不到文件内容
application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。这是标准的编码格式。
multipart/form-data: 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分,上传附件用到
text/plain: 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。
enctype="multipart/form-data是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form- data,才能完整的传递文件数据,进行下面的操作.
别人的一个例子:
form中加入enctype="multipart/form-data"时整个表单被封装,字符将转成二进制流,因此request.getParameter("user_type")是得不到值的.给段实例做参考:
SmartUpload su = new SmartUpload();
su.initialize(pageContext);
su.upload();
String strzy=su.getRequest().getParameter("user_type");
这样就行了
㈦ 怎么在form里分别上传多个文件,如图
可以用iframe上传,orm表单的method、 enctype属性必须和下面代码一样。然后将target的值设为iframe的name,这样就可以实现无刷新上传文件。
<form action="uploadfile.php" enctype="multipart/form-data" method="post" target="iframeUpload">
<iframe name="iframeUpload" src="" width="350" height="35" frameborder=0 SCROLLING="no" style="display:NONE"></iframe>
<input id="test_file" name="test_file" type="file">
<input value="上传文件" type="submit">
</form>
㈧ 上传文件form表单为什么提交不了后台
text/plain: 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。
enctype="multipart/form-data是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form- data,才能完整的传递文件数据,进行下面的操作.
别人的一个例子:
form中加入enctype="multipart/form-data"时整个表单被封装,字符将转成二进制流,因此request.getParameter("user_type")是得不到值的.给段实例做参考:
SmartUpload su = new SmartUpload();
su.initialize(pageContext);
su.upload();
String strzy=su.getRequest().getParameter("user_type");
这样就行了
㈨ 我想先上传文件然后再点击提交按钮才提交from1,而现在我一上传文件两个表单都提交了。
把代码改成:
<form name="from1">
<input typr="text" value="123">
<form name="uploadform" enctype="multipart/form-data" method="post" name="upform">
<input name="upfile" type="file>
<input type="button" value="上传" onclick="uploadform.submit();">
</form>
<input type="submit" value="提交">
</form>