广告
返回顶部
首页 > 资讯 > 服务器 >如何实现uploader秒传图片到服务器
  • 527
分享到

如何实现uploader秒传图片到服务器

2024-04-02 19:04:59 527人浏览 安东尼
摘要

小编给大家分享一下如何实现uploader秒传图片到服务器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!先看看效果图:页面中js

小编给大家分享一下如何实现uploader秒传图片到服务器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

先看看效果图:

如何实现uploader秒传图片到服务器

如何实现uploader秒传图片到服务器

如何实现uploader秒传图片到服务器

页面中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" ></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就行了。

以上是“如何实现uploader秒传图片到服务器”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网服务器频道!

--结束END--

本文标题: 如何实现uploader秒传图片到服务器

本文链接: https://www.lsjlt.com/news/76296.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何实现uploader秒传图片到服务器
    小编给大家分享一下如何实现uploader秒传图片到服务器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!先看看效果图:页面中js...
    99+
    2022-10-19
  • js实现上传图片到服务器
    本文实例为大家分享了js实现上传图片到服务器的具体代码,供大家参考,具体内容如下 HTML //多张图片上传multiple <input type="file" id...
    99+
    2022-11-12
  • js实现上传图片到服务器的
    这篇文章主要介绍了js实现上传图片到服务器的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下HTML//多张图片上传multiple<input t...
    99+
    2023-06-14
  • 微信小程序如何实现上传图片到服务器
    这篇文章主要介绍了微信小程序如何实现上传图片到服务器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。上传图片到服务器:1.先在前端写一个选择图...
    99+
    2022-10-19
  • Android 通过Base64上传图片到服务器实现实例
    Android 通过Base64上传图片到服务器之前做上传图片是采用HttpServlet上传,不过用了一下Base64上传图片后,感觉比HttpServlet方便很多,大家也可以跟着尝试一下。前台图片处理:(传Bitmap对象即可) pu...
    99+
    2023-05-31
    android base64 上传图片
  • 微信小程序如何实现上传图片到php服务器
    这篇文章将为大家详细讲解有关微信小程序如何实现上传图片到php服务器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。js代码如下 submitPhoto(){ &...
    99+
    2022-10-19
  • Android选择图片或拍照图片上传到服务器
    最近要搞一个项目,需要上传相册和拍照的图片,不负所望,终于完成了!  不过需要说明一下,其实网上很多教程拍照的图片,都是缩略图不是很清晰,所以需要在调用照相机的时候,...
    99+
    2022-06-06
    图片上传 服务器 图片 Android
  • java实现图片上传至服务器
    实现的思路:工具:MySQL,eclipse首先,在MySQL中创建了两个表,一个t_user表,用来存放用户名,密码等个人信息,一个t_touxiang表,用来存放上传的图片在服务器中的存放路径,以及图片名字和用户ID,T_touxian...
    99+
    2021-04-29
    java 实现 图片 上传 服务器
  • JavaKindEditor粘贴图片自动上传到服务器功能实现
    ​图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umedit...
    99+
    2023-05-15
    KindEditor粘贴自动上传服务器 KindEditor粘贴自动上传
  • Vue中实现图片上传,上传后的图片回显,存储图片到服务器 【使用对象存储OSS】
    文章目录 1 前提知识1.1 服务端签名后直传1.1.1 流程和源码解析1.1.2 实现步骤 1.2 Aliyun Spring Boot OSS 示例(接入微服务)1.2.1 简略说明1.2.2步骤 2、项目中实际...
    99+
    2023-08-24
    vue.js 服务器 javascript
  • vue怎么将图片上传到服务器
    这篇文章主要介绍“vue怎么将图片上传到服务器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue怎么将图片上传到服务器”文章能帮助大家解决问题。一、准备工作下载 vue-quill-editorn...
    99+
    2023-06-27
  • Android异步上传图片到PHP服务器
    原理 Android客户端模拟一个HTTP的Post请求到服务器端,服务器端接收相应的Post请求后,返回响应信息给给客户端。 背景 网上很多上传到java服务器上的,找...
    99+
    2022-06-06
    上传图片 php服务器 图片 PHP Android
  • Android将图片上传到php服务器的实例代码
    layout中很普通,就是两个button和一个ImageView<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="htt...
    99+
    2023-05-30
    android 图片上传 服务器
  • react native如何实现往服务器上传网络图片
    这篇文章主要介绍了react native如何实现往服务器上传网络图片,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如下所示:let&nbs...
    99+
    2022-10-19
  • Java KindEditor粘贴图片自动上传到服务器功能怎么实现
    这篇文章主要介绍了Java KindEditor粘贴图片自动上传到服务器功能怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java KindEditor粘贴图片自动上传到服务器功能怎...
    99+
    2023-07-06
  • Java如何实现将图片上传到webapp路径下
    这篇文章将为大家详细讲解有关Java如何实现将图片上传到webapp路径下,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。将图片上传到webapp路径下 路径获取方式此方法获取到工程webap...
    99+
    2023-06-25
  • Http服务传输图片的Python实现
    介绍 主要介绍Python实现的Http服务传输图片的2种方式:URL和字节流 以URL的方式传输图片 服务器端 基于tornado框架搭建简单的web服务, 提供post方法, 通过接收image_url字段获取图片的url,...
    99+
    2023-01-31
    图片 Http Python
  • layui如何上传图片到服务器的非项目目录下
    小编给大家分享一下layui如何上传图片到服务器的非项目目录下,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、layui没办法与form表单中的其他字段一同提交到后台,所以只能通过先提交...
    99+
    2022-10-19
  • 微信小程序中如何实现图片选择、上传到服务器、预览功能
    这篇文章主要介绍了微信小程序中如何实现图片选择、上传到服务器、预览功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。小程序实现选择图片、预览...
    99+
    2022-10-19
  • Ajax如何实现上传图片
    这篇文章主要为大家展示了“Ajax如何实现上传图片”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ajax如何实现上传图片”这篇文章吧。1.图片上传到服务器。2....
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作