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>
<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>

 
  
					
				
评论