• 图片上传


    略有瑕疵,凑合能用,先当个笔记了,以后有更好的再换。

    css

     1 <style>
     2     /*外层div*/
     3 .input-file-box{
     4     border: 1px solid gray;
     5     width: 5rem;
     6     height: 5rem;
     7     margin-left:.5rem;
     8     position: relative;
     9     text-align: center;
    10     border-radius: 1rem;
    11 }
    12 /*文字描述*/
    13 .input-file-box > span{
    14     display: block;
    15     width: 3rem;
    16     height: 1rem;
    17     position: absolute;
    18     top: 1rem;
    19     bottom: 0;
    20     left: 1rem;
    21     right: 0;
    22     /* margin: auto; */
    23     color: gray;
    24 }
    25 /*input框*/
    26 .input-file-box #uploadfile{
    27     opacity: 0;
    28     width: 5rem;
    29     height: 5rem;
    30     cursor: pointer;
    31 }
    32 
    33 .tu{
    34     /* background:yellow; */
    35 }
    36 #bushang{
    37     min-height:10rem;
    38     width:100%rem;
    39     /* background:pink; */
    40 }
    41 #img-box{
    42     /* background:purple; */
    43    min-height:10rem;
    44    width:100%;
    45     float:left;
    46 }
    47 #bushang:after{
    48     content: "";
    49     height: 0;
    50     clear: both;
    51     overflow: hidden;
    52     display: block;
    53     visibility: hidden;
    54 }
    55 #img-box .pingxia{
    56     height:8rem;
    57     width:8rem;
    58     /* float:left;
    59     margin-left:.4rem;
    60     margin-top:.1rem; */
    61 }
    62 #img-box div h1{
    63     position: absolute;
    64     right:0rem;
    65     top:0.1rem;
    66     height:1.5rem;
    67     width:1.5rem;
    68 }
    69 #img-box div{
    70     float:left;
    71     margin-left:.4rem;
    72     margin-top:.1rem;
    73     position: relative;
    74     height:8rem;
    75     width:8rem;
    76 }
    77 #img-box .shan{
    78     height:1.5rem;
    79     width:1.5rem;
    80     position: absolute;
    81     top:0;
    82     right:0;
    83     z-index: 100;
    84 }
    85 </style>

    html

    <body>
    	<form action="">
    		<div class="input-file-box">
    			<span>点击上传图片</span>
    			<input type="file" id="uploadfile" multiple>
    		</div>
    		<div id="bushang">
    			<div id="img-box"></div>
    		</div>
    	</form>
    </body>
    

      js

     1 <script>
     2 // 传图
     3     var shuliang = 0
     4     var shuliang111 = 0
     5     $('#uploadfile').on('change',function(){
     6         shuliang = shuliang + this.files.length
     7     // 如果没有选择图片 直接退出
     8     if(this.files.length <=0){
     9         return false;
    10     }
    11     // 判断数量 - 上
    12     if(shuliang >= 10){
    13         var con=window.confirm('最多只能添加九张图片');
    14             if(con==true){
    15                 shuliang = shuliang111
    16                 return; 
    17             }
    18             else{
    19                 shuliang = shuliang111
    20                 return; 
    21             }
    22     }
    23     shuliang111 = shuliang111 + this.files.length
    24 //判断数量 - 下
    25     var formData = new FormData();
    26     for (i = 0; i < this.files.length; i++){
    27         formData.append('pic1'+'['+i+']',this.files[i]);
    28     }
    29     $.ajax({
    30         url:'ajax上传地址',
    31         type:'post',
    32         data:formData,
    33         cache: false, //上传文件不需要缓存
    34         beforeSend:function (){  
    35             $("#loading").show(); //上传之前启动遮罩
    36       },
    37         processData: false, // 告诉jQuery不要去处理发送的数据
    38         contentType: false, // 告诉jQuery不要去设置Content-Type请求头
    39         dataType:'json',
    40         success:function(data){
    41             if(data.error == 0){
    42                 var c = data.info.split(",");
    43                 c.pop()
    44                 for(var i = 0;i < c.length;i++){
    45                     var div = document.createElement('div');
    46                     var h1 = document.createElement('h1');
    47                     console.log("这是动态渲染时候的图片路径",c[i])
    48                     div.innerHTML='<img class="pingxia" src="'+c[i]+'" />';
    49                     h1.innerHTML='<img class="shan" src="http://7niuyun.xunlongfuwu.com/20191022145616.jpg" />';
    50                     div.appendChild(h1)
    51                     document.getElementById("img-box").appendChild(div);
    52                 }
    53                 // 删除渲染的图片
    54                 $(".shan").click(function(){
    55                     shuliang = shuliang - 1;
    56                     shuliang111 = shuliang111 - 1;
    57                     var index = $('.shan').index(this)
    58                     $("#img-box").find("div")[index].remove()
    59                 })
    60                 $("#loading").hide(); //关闭遮罩
    61             }else{
    62                 //不成功处理
    63                 $("#loading").hide();
    64             }
    65         }
    66     })    
    67 })
    68 </script>

     先用ajax传到服务器,再根据服务器返回的地址动态渲染,最后根据需要提交。(可以在动态渲染的时候多创建一个input隐藏域,然后用表单提交。)

  • 相关阅读:
    开更
    PKUSC2016
    Educational Codeforces Round 12 E Beautiful Subarrays
    省选过了,又开始更新了。。。
    我来试试视频功能
    [BZOJ4407]于神之怒加强版
    bzoj3998: [TJOI2015]弦论
    bzoj4569: [Scoi2016]萌萌哒
    2016-5-30模拟测试
    2016-5-26模拟测试
  • 原文地址:https://www.cnblogs.com/xiaoyaolang/p/11905427.html
Copyright © 2020-2023  润新知