国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

uploader秒傳圖片到服務器完整代碼

2019-11-19 16:45:52
字體:
來源:轉載
供稿:網友

先看看效果圖:

頁面中js部分

var f1 = null; var picarr = new Array(); var basearr = new Array(); var lat = "",   longt = ""; var files = []; // 上傳文件 function upload() {         var wt = plus.nativeUI.showWaiting();   var task = plus.uploader.createUpload(server + "?action=dynamicadd", {       method: "POST"     },     function(t, status) { //上傳完成       if (status == 200) { //           console.log("上傳成功:" + t.responseText);         mui.toast("發表成功");         //插入本地數據庫         wt.close();         mui.back();       } else {         console.log("上傳失敗:" + status);         wt.close();       }     }   );   var title = $("#tbxtitle").val();   if (title.length < 1) {     wt.close();     mui.toast("內容不能為空");   } else {      task.addData("title", title);     task.addData("uid", getUid());     task.addData("userid", plus.storage.getItem("policeid"));     //task.addData("lat", lat.toString());     //task.addData("longt", longt.toString()); //       console.log("準備上傳"+files.length+"個圖片");     for (var i = 0; i < files.length; i++) {       var f = files[i]; //         console.log("準備上傳的圖片路徑:"+f.path);       task.addFile(f.path, {         key: f.name       });     }     task.start();   }    }  // 添加文件 var index = 1; var newUrlAfterCompress; function appendFile(p) {   files.push({     name: "uploadkey" + index,//這個值服務器會用到,作為file的key     path: p   });   index++; } // 產生一個隨機數 function getUid() {   return Math.floor(Math.random() * 100000000 + 10000000).toString(); }  function getposition() {   plus.geolocation.getCurrentPosition(function(p) {     var codns = p.coords; // 獲取地理坐標信息;     lat = codns.latitude; //獲取到當前位置的緯度;     longt = codns.longitude; //獲取到當前位置的經度   }, function(e) {     //alert("獲取百度定位位置信息失敗:" + e.message);   }, {     provider: 'baidu'   }); }  function galleryImgs() { // 從相冊中選擇圖片   plus.gallery.pick(function(e) {     $(".dynamic_images ul li").remove(".pickimg"); //       console.log("選擇了"+e.files.length+"個圖片");     for (var i = 0; i < e.files.length; i++) {       if (i < 9) {         picarr[i] = e.files[i];         $(".dynamic_images ul").prepend("<li class='pickimg'><img src='" + e.files[i] + "' /></li>");         var dstname="_downloads/"+getUid()+".jpg";//設置壓縮后圖片的路徑         newUrlAfterCompress=compressImage(e.files[i],dstname);         appendFile(dstname);         //console.log(e.files[i]);         //console.log(dstname);       }     }   }, function(e) {     console.log("取消選擇圖片");   }, {     filter: "image",     multiple: true   }); }  //壓縮圖片,這個比較變態的方法,無法return function compressImage(src,dstname) {   //var dstname="_downloads/"+getUid()+".jpg";   plus.zip.compressImage({       src: src,       dst: dstname,       overwrite:true,       quality: 20     },     function(event) {       //console.log("Compress success:"+event.target);       return event.target;     },     function(error) {       console.log(error);       return src;       //alert("Compress error!");     });    } //旋轉圖片,本文沒用到 function rotateImage() {   plus.zip.compressImage({       src: "_www/a.jpg",       dst: "_doc/a.jpg",       rotate: 90 // 旋轉90度     },     function() {       alert("Compress success!");     },     function(error) {       alert("Compress error!");     }); }  function showActionSheet() {   var bts = [{     title: "拍照"   }, {     title: "從相冊選擇"   }];   plus.nativeUI.actionSheet({       cancel: "取消",       buttons: bts     },     function(e) {       if (e.index == 1) {         getImage();       } else if (e.index == 2) {         galleryImgs();       }     }   ); } //拍照 function getImage() {   var cmr = plus.camera.getCamera();   cmr.captureImage(function(p) {     plus.io.resolveLocalFileSystemURL(p, function(entry) {       var localurl = entry.toLocalURL(); //       $(".dynamic_images ul li").remove(".pickimg");       $(".dynamic_images ul").prepend("<li class='pickimg'><img src='" + localurl + "' /></li>");     });   }); } 

頁面初始化的一些操作:

document.addEventListener("plusready", plusReady, false);  function plusReady() {   document.getElementById("addnew").addEventListener("tap", function() {     showActionSheet();//拍照還是相冊   });   document.getElementById("fabiao").addEventListener("tap", function() {     upload();//上傳文件   });   plus.nativeUI.closeWaiting();  } 

html布局,比較簡單,模仿微信的:

<div class="dynamic_images">   <ul>     <!--<li><img src="images/cbd.jpg"></li>-->     <li><img src="images/iconfont-tianjia.png" id="addnew"></li>     <!--<li><span class="mui-icon iconfont icon-jia2" style="font-size: 28px;"></span></li>-->    </ul> </div> 

服務端asp.net版

string file = ""; int count = Request.Files.Count;  for (int i = 0; i < count; i++) {   int l = Request.Files["uploadkey" + (i + 1)].ContentLength;   byte[] buffer = new byte[l];   Stream s = Request.Files["uploadkey" + (i + 1)].InputStream;   System.Drawing.Bitmap image = new System.Drawing.Bitmap(s);   string imgname = Common.GetGuid() + ".jpg";   string path = "Images/" + DateTime.Now.ToString("yyyyMMdd") + "/";   if (!Directory.Exists(HttpContext.Current.Server.MapPath(path)))   {     System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath(path));   }   image.Save(Server.MapPath(path + "/" + imgname)); } 

速度非常快,測試過,如果不壓縮速度沒有明顯的下降,但是考慮到顯示時候加載的問題,還是進行了壓縮。

后補的CSS,其實沒什么樣式的:

<style type="text/css">   .dynamic_images {     width: 100%;   }      .dynamic_images ul {     margin: 0;     padding: 0;   }      .dynamic_images ul li {     float: left;     list-style: none;     width: 25%;   }      .dynamic_images ul li img {     width: 98%;     height: 80px;   } </style> 

加號是字體:http://iconfont.cn/
頭部樣式是二次修改HB的樣式,如果你不是用HB開發的話,自己寫CSS就行了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日土县| 太和县| 汝南县| 武川县| 新绛县| 理塘县| 霍州市| 瓮安县| 兴化市| 文水县| 陆河县| 垦利县| 错那县| 新平| 南丰县| 南投市| 长寿区| 晋江市| 达日县| 湟中县| 舞钢市| 城市| 伊川县| 津市市| 麟游县| 天津市| 探索| 大方县| 福海县| 台湾省| 凤山市| 阳西县| 巴彦淖尔市| 威海市| 文山县| 连城县| 南康市| 乃东县| 西和县| 双江| 乃东县|