Ajax实现文件上传___怎么设置multipart/form-data
http://tech.techweb.com.cn/thread-231571-1-1.html
?
?
?
------------------------------------------------------
先创建一个Iframe,然后form的target指向它。
HTML code
<form? ?action="upload.jsp"? ?enctype="multipart/form-data"? ?method="post"??target="ifm" >
</form>
<iframe id='ifm' name='ifm' style="display:none"/>
?
?
------------------------------------------------------
学习一下,以前只要用到上传图片一般都是用的Iframe来实现那种"无刷新",ajax还没有试过呢,当时想过,但一想到ajax传参数只能通过URL传就头疼,担心URL传递的参数有限,表单里的值还要通过组合成URL传,.......
?
?
------------------------------------------------------
表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-?data,才能完整的传递文件数据,进行下面的操作.
enctype=\"multipart/form-data\"是上传二进制数据;?form里面的input的值以2进制的方式传过去。
?
?
------------------------------------------------------
httpxmlrequest无法上传文件的。
?
?
------------------------------------------------------
?? What files are you sending? <input type="file" name="files"><br />?
</form>?
则有如下body:?
Content-Type: multipart/form-data; boundary=AaB03x?
?? --AaB03x?
?? Content-Disposition: form-data; name="submit-name"?
?? chmod777?
?? --AaB03x?
?? Content-Disposition: form-data; name="files"; filename="file1.txt"?
?? Content-Type: text/plain?
?? ... contents of file1.txt ...?
?? --AaB03x--?
那么如何解决图片问题呢?(ajax的httpxmlrequest无法上传文件的)
?
</form>?<iframe id='ifm' name='ifm' style="display:none"/>
后台处理完后可以输出:
<script type="text/javascript">alert("'+message+'")</script>;
这样便可完成判断上传是否成功的功能。
?
?
-----------------------------------------------------------others-------------------------------
整个iframe定时局部刷新? js定时器