看了CI框架里的文件上传类 http://codeigniter.org.cn/user_guide/libraries/file_uploading.html

好像只能通过表单的形式上传。

请问怎么通过ajax方式上传图片?

回复内容:

看了CI框架里的文件上传类 http://codeigniter.org.cn/user_guide/libraries/file_uploading.html

好像只能通过表单的形式上传。

请问怎么通过ajax方式上传图片?

有很多这种第三方库,不如说这个https://code.google.com/p/ajax-upload/

依赖:http://malsup.com/jquery/form/

效果:

bVlOIt

服务器端实现的比如Ajax.php,你只要保证返回imageUrl这个json字段就可以了

你应该是想实现无刷新上传。

无刷新上传方式有 2 种:

1.iFrame 无刷新上传文件

2.使用 Flash 上传 (一个好用的 Flash 上传插件 uploadify)

说一句:Ajax 是传递字符串,而不是二进制文件。所以,不存在 Ajax 上传文件这种说法。

是可以通过AJAX上传文件的,但是需要浏览器支持HTML5(用到FormData对象),所以最好使用IFRAME和FLASH上传。

[使用AJAX上传文件]http://jsfiddle.net/gh/get/extjs/4.2/icattlecoder/jsfiddle/tree/master...

前几天刚做完一个CI + AJAX 上传的项目,大概是用到Formdata的方法上传了

下面是代码

var fd = new FormData();

fd.append("userfile", 1);

fd.append("userfile", $("#imgfile").get(0).files[0]);

fd.append("uid",$('#class-author').val());

$.ajax({

url: "clazz/upload",

type: "POST",

processData: false,

contentType: false,

data:fd,

success: function(d) {

alert(d);

window.photo_url = d;

alert("上传成功");

}

亲测可用=。=希望可以帮助你~

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐