在NodeJS中使用jQuery file upload plugin
https://github.com/blueimp/jQuery-File-Upload 是一个相对完备的Web文件上传组件。这个组件不仅具备文件上传的功能,还具备远程文件管理的功能。目前是最流行的jQuery文件上传组件。
这个组件只有客户端,没有服务端,需要开发者自己提供服务端。在其Sample中有一个NodeJS的服务端,不过是一个独立服务器,如果要集成到自己的已有的NodeJS程序中,还需要花费一番功夫。
最开始我想把它提供的Sample NodeJS代码修改,集成到我自己的服务器中,不过读了一遍Sample代码之后,我就放弃了,太复杂了。
不过在其README中介绍了一个中间件,很容易与其界面集成:https://github.com/aguidrevitch/jquery-file-upload-middleware
用上了之后,发现虽然文件上传成功了,但是界面上显示失败:“Empty file upload result”。到Google搜索,有人说是jQuery file upload plugin的接口变了,由:[{file1},{file2}] 变为了 {files: [{file1},{file2}]}。
通过抓包发现后台返回的数据是
[
{
name : iPhone5 docking station.jpeg ,
originalName : iPhone5 docking station.jpeg ,
size : 9584,
type : image/jpeg ,
delete_type : DELETE ,
url : http://localhost/uploads/iPhone5%20docking%20station.jpeg ,
delete_url : http://localhost/product/upload/iPhone5%20docking%20station.jpeg ,
thumbnail_url : http://localhost/uploads/thumbnail/iPhone5%20docking%20station.jpeg
}
]
找到https://github.com/aguidrevitch/jquery-file-upload-middleware的源代码,修改返回数据为新的格式后,果然成功了。新的数据格式:
{ files:
[
{
name : iPhone5 docking station.jpeg ,
originalName : iPhone5 docking station.jpeg ,
size : 9584,
type : image/jpeg ,
delete_type : DELETE ,
url : http://localhost/uploads/iPhone5%20docking%20station.jpeg ,
delete_url : http://localhost/product/upload/iPhone5%20docking%20station.jpeg ,
thumbnail_url : http://localhost/uploads/thumbnail/iPhone5%20docking%20station.jpeg
}
]
}
我已经提了一个issue:https://github.com/aguidrevitch/jquery-file-upload-middleware/issues/23,目前查看最新的源代码,已经修正了这个问题。有兴趣的朋友,到github上follow me,哈哈 @ibusybox
本文链接:http://www.yunweipai.com/2831.html
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/53196.html
googlejava相关文章
- 基于NodeJS实现企业微信机器人推送
- linuxnodejs安装及环境配置_nodejs不是内部外部命令
- NodeJS深受欢迎的6大原因
- jquery选择器用法_jQuery属性选择器
- nodejs事件循环详解编程语言
- nodejs小问题:express不是内部或外部命令详解编程语言
- NodeJs交互式运行环境详解编程语言
- Ruby Thin Web Server与NodeJS配合问题
- Nodejs在Oracle数据库中的应用(node-oracle)
- jQuery技巧大放送学习jquery的朋友可以看下
- jQuery温习篇强大的JQuery选择器
- 初窥JQuery-Jquery简介入门了解篇
- NodeJS的模块写法入门(实例代码)
- 将nodejs打包工具整合到鼠标右键的方法
- 跟我学Nodejs(一)---Node.js简介及安装开发环境
- nodejs文件操作模块FS(FileSystem)常用函数简明总结
- nodejs实现黑名单中间件设计
- nodejs教程之异步I/O
- 详谈nodejs异步编程
- 轻松创建nodejs服务器(9):实现非阻塞操作
- 轻松创建nodejs服务器(10):处理上传图片
- 使用nodejs、Python写的一个简易HTTP静态文件服务器