您现在的位置是:首页 > 个人博客日记 个人博客日记

app端(jsonp)上传图片

2016-01-01 09:29:46

这是html代码

  1. <ahref="#">
  2. <pclass="fl">头像
  3.  <inputid="files"type="file"onchange="previewImage(this,'prvid')"multiple="multiple">
  4. </p>
  5. <iclass="fr"><divid="prvid"></div></i>
  6. </a>
  7. `
  8. ---
  9. 这是js代码:
  10. `<script>
  11. functionpreviewImage(file,prvid){
  12. /* file:file控件 * prvid: 图片预览容器 */vartip="Expect jpg or png or gif!";// 设定提示信息 var filters = {
  13. "jpeg":"/9j/4",
  14. "gif":"R0lGOD",
  15. "png":"iVBORw"}
  16. varprvbox=document.getElementById(prvid);
  17. prvbox.innerHTML="";
  18. if(window.FileReader){// html5方案 for (var i=0, f; f = file.files[i]; i++) {
  19. varfr=newFileReader();
  20. fr.onload=function(e){
  21. varsrc=e.target.result;
  22. if(!validateImg(src)){
  23. alert(tip)
  24. }else{
  25. update(src);
  26. showPrvImg(src);
  27. }
  28. }
  29. fr.readAsDataURL(f);
  30. }
  31. }else{// 降级处理
  32. if(!/\.jpg$|\.png$|\.gif$/i.test(file.value)){
  33. alert(tip);
  34. }else{
  35. showPrvImg(file.value);
  36. }
  37. }
  38. functionvalidateImg(data){
  39. varpos=data.indexOf(",")+1;
  40. for(var e in filters){
  41. if(data.indexOf(filters[e])===pos){
  42. returne;
  43. }
  44. }
  45. returnnull;
  46. }
  47. functionshowPrvImg(src){
  48. varimg=document.createElement("img");
  49. img.src=src;
  50. prvbox.appendChild(img);
  51. }
  52. //update str='';
  53. functionupdate(src){
  54. varre=/\+/g;
  55. varsrc=src.replace(re,'-');
  56. varname=Math.random()*100000000000000000;//文件名
  57. alert(name);
  58. vara=src.length;
  59. console.log(src)
  60. varlen=Math.ceil(a/1000);
  61. //alert(src); for(var i=0;i<len;i++){
  62. varb=1000*i;
  63. varjson='{"content":"'+src.substr(b,1000)+'","name":"'+name+'","name_":"'+i+'"}';
  64. // setTimeout(function(){ postInfo('upload',json,0);//用户订单查询// },1000); }
  65. }
  66. }
  67. //成功
  68. functionsuccess_db(){
  69. };
  70. //失败
  71. functionerror_db(){
  72. }
  73. </script>
  74. ---
  75. 这是php后台代码:
  1. publicfunctionactionUpload(){
  2. if($this->_data){
  3. $h_data=json_decode(
  4. $this->_data,true);
  5. @$content=$h_data['content']!=''?$h_data['content']:false;//内容
  6. @$name=$h_data['name']!=''?$h_data['name']:false;//文件夹
  7. @$name_=$h_data['name_']!=''?$h_data['name_']:false;//文件名
  8. }
  9. if(!is_dir($name)){
  10. mkdir($name);
  11. }
  12. $result=fopen($name.'/'.$name_,'w+');
  13. fwrite($result,$content);
  14. fclose($result);
  15. $this->ReturnJson(1,'errcode',200);
  16. }
  17. publicfunctionactionDo(){
  18. $name='12152599222857208';
  19. $str='';
  20. for($i=0;$i<28;$i++){
  21. $str.=file_get_contents($name.'/'.$i);
  22. }
  23. $str=substr($str,strrpos($str,',')+1);
  24. $str=str_replace('-',"+",$str);
  25. $str=base64_decode($str);
  26. $result=fopen('2.jpeg','w+');
  27. fwrite($result,$str);
  28. }

```



关注TinyMeng博客,更多精彩分享,敬请期待!
 

站点信息