怎么用ajax实现上传文件的功能

怎么用ajax实现上传文件的功能,第1张

>

>

运行

$ python file-serverpy files 8001

其中第一个参数 files 是存放文件的路径,第二个参数 8001 是 >

接口

1 读取文件

GET /pathtofile/filename

2 读取文件夹下所有文件(已经忽略隐藏文件)

GET /path

返回文件列表为 JSON 数组,文件名末尾带有 / 的表示是文件夹。 filename 为文件名,mtime 为修改时间。

[{"filename":"f1txt","mtime":1001},{"filename":"p3/","mtime":1002}]

3 上传文件

采用 POST 方式上传文件,URL 参数中传参数 name 表示上传的文件名,POST 内容为文件内容。

POST /uploadname=filename

ajax 示例:

// file is a FileReader object

var data = filereadAsArrayBuffer();

var xhr = new XML>

文件名 filename 可以包含相对路径。比如:uploadname=md/xxxmd。则上传至 md 目录下。

知道的路径了还需要用Ajax吗?直接 把路径设置到 img标签的src就可以了。

如果是想按需加载,那就在合适的时候 动态创建 img标签,设置src。

如果非要用Ajax去加载,因为是二进制数据,而ajax传输的是文本数据,需要将进行base64编码后再用ajax获取,得到的数据直接设置在 img标签的 src里可以被浏览器显示,但是这个方法麻烦、不兼容IE6、7,没必要这么做。

$(document)ready(function () {

$("#upload_file_input")live('change', function () {

$("upload_share_form")submit(function () {

$(this)ajaxSubmit({

success: function () {

$("#ajax_upload_message")html("表单提交成功")show();

},

url: site_url + "ajax/ajax_file_upload",

data: $('#upload_share_form')formSerialize(),

type: 'POST',

dataType: 'json',

beforeSubmit: function () {

$('#ajax_upload_message')html('正在努力上传,请稍候');

interval = loop_delimiter("正在努力上传,请稍候", 'ajax_upload_message');

}

});

return false;

});

});

});

因为SpringMVC只有GET请求才能通过方法上加参数获取到值,POST是不能通过这种方式获取的,可以通过requestgetParameter(key) 或者 封装成对象(属性对应前端参数)会自动填充。

另外我记得Ajax上传文件不能直接用$ajax这种方式传,我的方法如下:

var form = new FormData();

var xhr = new XML>

以上就是关于怎么用ajax实现上传文件的功能全部的内容,包括:怎么用ajax实现上传文件的功能、怎么通过ajax去加载一个图片、ajaxSubmit图片上传等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10136027.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)