欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jquery.uploadView 实现图片预览上传功能

程序员文章站 2022-11-25 11:28:21
图片上传,网上有好多版本,今天也要做一个查了好多最终找到了一个uploadview 进行了一下修改 来看代码 @{ layout = null; } &...

图片上传,网上有好多版本,今天也要做一个查了好多最终找到了一个uploadview 进行了一下修改

来看代码

@{
 layout = null;
}
<!doctype html>
<html>
<head>
 <meta name="viewport" content="width=device-width" />
 <title>index</title>
 <script src="~/scripts/jquery-1.8.2.min.js"></script>
 <script src="~/scripts/jquery.uploadview.js"></script>
</head>
<body>
 <div>
  <div class="shangchuan">
   <h4>示例</h4>
   <div class="js_uploadbox" style="position: relative">
    <div id="preview" class="js_showbox">
     <img id="imghead" border="0" src="http://static.neihanhongbao.com/highads/images/nologo.jpg" alt="上传图片" style="width:100px; height:100px" />
    </div>
    <input type="file" name="file" id="id" style="position: absolute; top: 0px; left:0px; height: 100px; filter: alpha(opacity:0); opacity: 0; width: 100px" onclick="upload()">
   </div>
   <input type="hidden" id="hidtmp_id" name="tmp_id" value="" />
  </div>
 </div>
</body>
</html>
<script type="text/javascript">
 function upload() {
  $("#id").uploadview({
   uploadbox: '.js_uploadbox',//设置上传框容器
   showbox: '.js_showbox',//设置显示预览图片的容器
   width: '100', //预览图片的宽度,单位px
   height: '100', //预览图片的高度,单位px
   allowtype: ["gif", "jpeg", "jpg", "bmp", "png"], //允许上传图片的类型
   maxsize:1, //允许上传图片的最大尺寸,单位m
   success: function (e) {
    var l = $(".js_showbox img").attr("src");
    $("#hidtmp_id").val(l);
   }
  });
 }
</script>

代码前台看起来很简单。

实现的效果也还可以,不过这个保存的是base64的图片,插入数据库的时候我们一般都是保存xxxx.jpg 故需要实现一个方法

 /// <summary>
  /// base64转图片
  /// </summary>
  /// <returns></returns>
  public static string basetoimg(string baseimg) {
   byte[] bt = convert.frombase64string(baseimg.replace("data:image/jpeg;base64,", ""));
   string filepath = "imgserver".getappsetting();
   string sqlurl = @"" + datetime.now.tostring("yyyymmdd") + "\\";
   string sqlname = "" + datetime.now.tostring("yyyymmddhhmmssmsfff") + ".jpg";
   if (!system.io.file.exists(filepath + sqlurl)) {
    system.io.directory.createdirectory(filepath + sqlurl);
    system.io.file.writeallbytes(filepath + sqlurl + sqlname, bt);
   }
   return sqlurl + sqlname;
  }

这里我是根据日期对文件夹分组了,并且保存到数据库。避免单个文件太大

效果图类似这样

jquery.uploadView 实现图片预览上传功能

jquery.uploadView 实现图片预览上传功能 

这个同样也适用于手机上

总结

以上所述是小编给大家介绍的jquery.uploadview 实现图片预览上传功能,希望对大家有所帮助