PHP一键上传图片到阿里云OSS对象存储,自己编写的代码,有一些注释。已在本地测试,运行成功。注意:1.有阿里云的对象存储;2.要获取AccessKey及找准Endpoint,修改代码中相应的部分;3.点击即上传,只支持图片格式,成功后向前端返回上传后的图片路径。 下载后,把资源包解压到网站目录,访问upload.php即可,不要改动文件夹结构。 强调一点:不要用于生产环境!
<html><body><form action="_ossupload_.php" method="post" enctype="multipart/form-data"><label for="file">Filename:</label><br/><input type="hidden" name="token" id="token" value="xxxyyy111222" /><input type="text" name="filename1" id="filename1" value="" /> <input type="file" name="file1" id="file1" onchange="doupload('file1','filename1');" /> <span id="res1"></span><input type="text" name="filename2" id="filename2" value="" /> <input type="file" name="file2" id="file2" onchange="doupload('file2','filename2');" /> <span id="res2"></span></form><script src="http://apps.bdimg.com/libs/jquery/1.11.3/jquery.min.js"></script><script language="Javascript">/*本程序仅用于学习,不要作为生产用途。由此导致的损失自负*/function doupload(file,filename){ var fileArray = document.getElementById(file).files;if (fileArray==""){alert("none");} var formData = new FormData(); for(var i=0; i<fileArray.length; i ){ formData.append("fileArray", fileArray[i]); }var token=$("#token").val(); //密钥,用于验证表单,自行设计formData.append("token",token); console.log(fileArray);$.ajax({ url: "ossupload.php", //传向后台服务器文件 type: 'post', //传递方法 data: formData, //传递的数据 async:false, //这是重要的一步,防止重复提交的 datatype:"JSON", cache: false, //设置为false,上传文件不需要缓存。 contentType: false, //设置为false,因为是构造的FormData对象,所以这里设置为false。 processData: false, //设置为false,因为data值是FormData对象,不需要对数据做处理。 success: function (res) { //alert('response:' responseStr); var jsonObj=eval("(" res ")"); var success=jsonObj.success; if (success=="1") { $("#" filename "").val(jsonObj.msg); //文件地址自动赋值于input,方便保存 alert("上传成功!文件名:" jsonObj.msg ""); }else{ alert("Upload Fail :" jsonObj.msg ""); } }, error: function () { alert("Upload Error"); } });}</script></body></html>
评论