.NET File 多图上传

HTML代码:

<div>
      <div>
         <input type="file" style="display:none" id="files" multiple="multiple" accept="image/*"/>
         <input type="button" value="点击上传" id="btnfile" /> <input type="button" value="确认提交" id="btnupload" />
     </div>
        <div class="imgpreview">

        </div>
    </div>

然后添加点样式:

<style>
        #btnfile, #btnupload {
            width: 120px;
            height: 30px;
            background: #2ECC71;
            text-align: center;
            margin: 10px auto;
            border: none;
            color: #f5f4f4;
            border-radius: 15px;
            outline: none;
            font-size: 14px;
        }

        .imgpreview {
            width: 100%;
            height: auto;
            display: flex;
            flex-wrap: wrap;
        }

        .delete {
            display: none;
            position: absolute;
            cursor: pointer;
            z-index: 999;
            top: 0px;
            right:1px;
        }

        .imgpreview > div {
            width: 24%;
            height: auto;
            margin-left: 5px;
            position: relative;
        }

        .imgpreview > div > img {
            width: 100%;

        }

        .imgpreview > div:hover .delete {
            display: block;
        }

        .imgpreview > div :hover {
            opacity: 0.4;
            color: #fff;
            background: rgba(0,0,0,0.5);
            position: relative;
        }

    </style> 

js代码:

<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
    <script>
        $(function () {
            var formdata = new FormData();

            $("#btnfile").click(function () {
                $("#files").trigger("click");
            });
            $("#files").change(function (e) {
                var allfile = e.target.files;
                var name = ‘‘, div = ‘‘, image = ‘‘;
                for (var i = 0; i < allfile.length; i++) {
                    var first = allfile[i];
                    var reader = new FileReader();
                    reader.readAsDataURL(first);
                    reader.onloadend = (function (i) {
                        var div = $("<div><span class=\"delete\">X</span></div>");
                            var img = $("<img/>");
                            img.attr("src", this.result);
                            div.append(img);
                            $(".imgpreview").append(div);
                            formdata.append("uploadfile", first)
                    });
                };
            })

            $("#btnupload").click(function () {
                //formdata.append("text", "1");
                //formdata.append("text", "2");
                $.ajax({
                    url: "program/action.aspx?r=" + new Date(),
                    type: "POST",
                    data: formdata,
                    cache: false,         //不设置缓存
                    processData: false,  // 不处理数据
                    contentType: false   // 不设置内容类型
                });
            });

        });

    </script>

后台处理:

 public void uploadimg()
    {
        //string text = Request.Form["text"];
        System.Web.HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
        for (int i = 0; i < files.AllKeys.Count(); i++)
        {
            if (files.AllKeys[i] == "uploadfile")
            {
                if (files[i].FileName.Length > 0)
                {
                    System.Web.HttpPostedFile postedfile = files[i];
                    string filePath = "";
                    var ext = Path.GetExtension(postedfile.FileName);
                    var fileName = DateTime.Now.Ticks.ToString() + ext;
                    // 组合文件存储的相对路径
                    filePath = "/mytest/upload/" + fileName;
                    // 将相对路径转换成物理路径
                    var path = Server.MapPath(filePath);
                    postedfile.SaveAs(path);

                }
            }
        }

    }

原文地址:https://www.cnblogs.com/smileZeng/p/8629421.html

时间: 2024-10-12 14:20:07

.NET File 多图上传的相关文章

jquery input file 多图上传,单张删除,查看

<div class="form-group"> <label for="imgs" class="col-md-3 col-sm-3 control-label">设备图片:</label> <div class="col-md-8 col-sm-8"> <div class="photo-box"> <div class="ph

Java企业微信开发_08_JSSDK多图上传

一.本节要点 1.1可信域名 所有的JS接口只能在企业微信应用的可信域名下调用(包括子域名),可在企业微信的管理后台“我的应用”里设置应用可信域名.这个域名必须要通过ICP备案,不然jssdk会配置失败 1.2JS-SDK使用权限签名算法 1.2.1 签名生成规则如下: (1)参与签名的字段包括: noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) . (2)对所有待签名参数按照字段名的ASCII

微信朋友圈的图片上传,多图上传怎么去撸才合适?我们一起来实现吧!

微信朋友圈的图片上传,多图上传怎么去撸才合适?我们一起来实现吧! 图片上传是非常常见的功能,而多图上传在大多数应用中也是非常常见的,比如微信的朋友圈,微博的动态,都是有九宫格图片的,那这里肯定涉及了多图上传,所以今天我们来一起撸一下,怎么去思考这个实现逻辑! 这里我想到的思路是比较简单的,首先,我们有一个按钮,按钮是上传图片,点击之后弹出某个界面进行图片的选择,一般是九张图片或者十二张,选完之后就直接上传了,大致的流程应该是这个样子,那我们首先来写个按钮 activity_main.xml <?

yii2组件之多图上传插件FileInput的详细使用

作者:白狼 出处:http://www.manks.top/yii2_multiply_images.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 文件上传也写过几篇文章了,包括最基本的yii2文件上传.异步上传到又拍云以及百度编辑器图片上传的问题,貌似不说点多图上传的就不完美. 今天介绍一款多图上传的插件 FileInput,至于为什么选中了TA作为我们上传的插件,一来这货跟Yii2有一腿,用起来方便:二来嘛

thinkphp/thinkcmf多图上传并保存到数据库

&&思路:图片和一些信息一起上传,先把信息用ajax提交到添加数据的function,添加成功后取到此条信息的主键,存session,返回模板ajax接收返回的信息,接收完毕后,再把多图上传的from表单提交,取到图片的信息,循环后拼接图片路径,根据session存的主键值修改(save)信息(smeta)到数据库,结束 &&这里特别说一下这个 multiple="multiple" 添加上这个之后可以一次选择多个文件进行上传,是 html5 的新属性

ThinkPHP+swfupload多图上传实例 经典实用的php多图上传

先上一张图片给大家看看效果,有需要就下载学习.不一定非要在ThinkPHP里,只是我非常喜欢去用ThinkPHP做开发了. 好了.现在咱们需要的东西是,下载一个swfupload.js网上很多,自己百度吧.之前有人加我QQ说我写的博文大部分都是代码,看不懂,我以后写博文也先说明思路,然后开始贴代码分享 整个多图上传的流程 1.写好html代码,包括上传以后显示的效果的html,以及加载swfupload组件.和flash 2.在添加图片以后上传到php里处理上传并且返回上传图片的地址,加载到预览

关于xutils多图上传的坑

不多说,直接上源码 RequestParams requestParams = new RequestParams();MultipartEntity multipartEntity = new MultipartEntity();for (int i = 0; i < files.size(); i++) { ContentBody c1 = new FileBody(files.get(i)); multipartEntity.addPart("file", c1);}req

iOS 使用AFN 进行单图和多图上传 摄像头/相册获取图片,压缩图片

图片上传时必要将图片进行压缩,不然会上传失败 首先是同系统相册选择图片和视频.iOS系统自带有UIImagePickerController,可以选择或拍摄图片视频,但是最大的问题是只支持单选,由于项目要求需要支持多选,只能自己自定义.获取系统图库的框架有两个,一个是ALAssetsLibrary,兼容iOS低版本,但是在iOS9中是不建议使用的:另一个是PHAsset,但最低要求iOS8以上.兼容到iOS7,可以选择了ALAssetsLibrary 现在我们先说选择一张图的情况 一.单图多图上

HTML5 多图上传

HTML5 多图上传 时间 2014-06-05 16:06:29  月小升博客 原文  http://java-er.com/blog/html5-many-image-upload/ 主题 HTML5 一次选择多张照片,你是不是要这样的效果  刚刚研究完FLASH的多图上传,不过 html5 这么时髦的东西,也得研究下. 研究了半天发现 html5 其实特别简单. 多图控件<input id="fileImage" type="file" size=&qu