当前位置:  开发笔记 > 前端 > 正文

如何在jquery中序列化文件类型输入

如何解决《如何在jquery中序列化文件类型输入》经验,为你挑选了1个好方法。

以前使用Prototype我可以序列化输入类型文件,它给了我正在上传的文件的文件名但是当我在jquery中序列化表单时,我只得到了输入类型的文本,而其他的不是文件,我该怎么办呢?



1> Sampson..:

在Firebug花了几分钟之后,实际上有几种方法可以解决这个问题.例如,我能够从fileObject本身获取文件列表:

var file = $("#control").attr("files")[0];
var fileName = file.fileName;
var fileSize = file.fileSize;

alert("Uploading: "+fileName+" @ "+fileSize+"bytes");

显然,我可以读取序列化的值.但写作是另一个问题.

但显然这并不像其他人所说的那么容易.我冒昧地下载了Prototype源代码,无法找到将FileList数据用于File Upload对象的说明.

事实上,我在网上发现了一篇文章,其中列出了序列化文件上传对象本身的问题,声称没有AJAX库做得好(注意,这是在2007年写的).这个主题很有意思,看起来您可以使用任意数量的方法从文件上传中提取数据 - 规范本身包含足够的信息来指导您沿着这条路径前进.

我希望我能够回答你如何编写,并将文件添加到文件列表中,但此刻我和你一样迷失(或者在提出这个问题的时候).有了更多的阅读,这可能比我怀疑要容易得多 - 但目前我没有时间投资.

祝你好运.

相关文件:

    W3C上的FileUpload

    表格序列化由加勒特史密斯,2007年

    原型1.6.1RC3来源(第3967行:Form.serializeElements开始)


如果您使用的是jQuery 1.6(或更高版本),则需要使用.prop()而不是.attr()。
推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有