ajax上传图片到又拍云,使用FormData+jQuery+AJAX发送文件至又拍云,实现无刷新上传...

这篇博客介绍了如何使用jQuery和HTML5的FormData功能,无刷新地将图片上传到又拍云。代码中展示了如何生成signature和policy,以及通过AJAX调用实现文件上传。成功上传后,图片URL将被展示出来。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我是一个很菜的人,为了实现无刷新上传图片至又拍云,初学了jQuery,如果代码有不好的地方请指出

功能:通过HTML5新功能FormData无刷新上传文件至又拍云(七牛云类似)

附上代码,如果不懂得地方就提出来吧

//下面代码用于生成signature 和 policy 用于后面的表单上传

$secret='你的表单API secret'; //表单API 去又拍云官网获得

$mybucket='你的空间名'; //空间名

$mytime=time()+600;

$mykey='/{year}/{mon}/{day}/upload_{filemd5}{.suffix}'; //详情看官方文档

$option=array('bucket'=>$mybucket,'expiration'=>$mytime,'save-key'=>$mykey);

$option = json_encode($option,JSON_UNESCAPED_SLASHES);

$policy = base64_encode($option);

$option = $policy.'&'.$secret;

$signature = md5($option);

?>

又拍云AJAX上传

AJAX上传

function formUpload(){

var formData = new FormData($("#formUpload")[0]); //Jquery得到是是一个数组 详情看http://segmentfault.com/q/1010000004213457

$.ajax({

url : 'http://v0.api.upyun.com/xxxxxx', //文件发送地址 例如 http://v0.api.upyun.com/xxxxxx

type : 'POST',

data : formData,

/**

* 必须false才会避开jQuery对 formdata 的默认处理

* XMLHttpRequest会对 formdata 进行正确的处理

*/

processData : false,

/**

*必须false才会自动加上正确的Content-Type

*/

contentType : false,

success : function(responseStr) {

var obj = $.parseJSON(responseStr);

var pic = obj.url;

var myurl = "http://xxxxxx.b0.upaiyun.com"; //自己访问域名前缀 例如 http://xxxxxx.b0.upaiyun.com

var picurl = "%5C%22%22+myurl+pic+%22%5C%22"; //这里其实只是用来显示一个 img标签

$("#content").html(picurl); //输出图片

},

error : function(responseStr) {

alert("失败:" + JSON.stringify(responseStr));//将 json对象 转成 json字符串。

}

});

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值