zoukankan      html  css  js  c++  java
  • FTP 图片上传

    1,前台代码:

     1 <head runat="server">
     2     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     3     <title></title>
     4     <script src="../../jquery-easyui-1.4.2/jquery.min.js"></script>
     5 </head>
     6 <body>
     7     <form id="form1" method="post">
     8         <div>
     9             <table>
    10                 <tr>
    11                     <td style=" 80px; text-align: right">上传图片:</td>
    12                     <td>
    13                         <a id="ImgJump" name="ImgJump" href="" target="_blank">
    14                             <img id="Picture" name="Picture" src="" style=" 150px; height: 150px" />
    15                         </a>
    16                         <input type="file" id="ImgFile" name="ImgFile" multiple="multiple" />
    17                        <%-- multiple="multiple"属性为多图片--%>
    18                     </td>
    19                 </tr>
    20             </table>
    21             <input type="hidden" id="ImgHidden" value="" />
    22         </div>
    23     </form>
    24     <script>
    25         $("#ImgFile").change(function () {
    26             debugger;
    27             var falelist = $("#ImgFile").prop('files');
    28             let formData = new FormData();
    29             for (let i = 0; i < falelist.length; i++) {
    30                 formData.append(i, falelist[i]);
    31             }
    32             $.ajax({
    33                 url: '../../Ashx/BannerManage.ashx?faction=SaveProdImage',
    34                 type: "POST",
    35                 data: formData,
    36                 cache: false,//不缓存
    37                 contentType: false,// jQuery不要去设置Content-Type请求头
    38                 processData: false,// jQuery不要去处理发送的数据
    39                 success: function (data) {
    40                     $("#ImgHidden").val(data.ResultObject[0].AccessoryUrl);
    41                     var url = data.ResultObject[0].AccessoryUrl;
    42                     var imgPre = document.getElementById('Picture');
    43                     imgPre.src = url;
    44                     var imgPre_a = document.getElementById('ImgJump');
    45                     imgPre_a.href = url;
    46                     imgPre.style.display = 'block';
    47                 }
    48             })
    49         })
    50     </script>
    51 </body>

    2,后台代码:

    public static string UploadFile()
            {
    
                var filelist = HttpContext.Current.Request.Files;
                if (filelist.Count == 0)
                    return Newtonsoft.Json.JsonConvert.SerializeObject(new { ResultCode = 0, ResultMsg = "上传失败" });
                string NewFiles = DateTime.Now.ToString("yyyyMM") + "ymall";
                List<AccessoryDTO> accessoryList = new List<AccessoryDTO>();
                for (int i = 0; i < filelist.Count; i++)
                {
                    var file = filelist[i];
    
                    string suffix = Path.GetExtension(file.FileName);
                    string fileName = Guid.NewGuid() + suffix.ToLower();
                    //string url = "";
    
                    byte[] buffer = new byte[file.InputStream.Length];
                    file.InputStream.Read(buffer, 0, (int)file.InputStream.Length);
                    Utility.Net.FtpArgs args = new Utility.Net.FtpArgs()
                    {
    
                        Host = ConfigurationManager.AppSettings["ProductImg:FtpHost2"],
                        Port = Convert.ToInt32(ConfigurationManager.AppSettings["ProductImg:FtpPort2"]),
                        UserName = ConfigurationManager.AppSettings["ProductImg:FtpUserName2"],
                        Userpwd = ConfigurationManager.AppSettings["ProductImg:FtpUserpwd2"],
                        RemoteDir = "/" + NewFiles + "/",
                        RemoteFileName = fileName,
                        UploadData = buffer
                    };
                    Utility.ReturnMessage rm = Utility.Net.CFTP.Upload(args);
                    if (!rm.Success)
                    {
                        return Newtonsoft.Json.JsonConvert.SerializeObject(new { ResultCode = 0, ResultObject = accessoryList, ResultMsg = "上传异常" });
                        //continue;
                    }
                        
    
                    AccessoryDTO dto = new AccessoryDTO();
                    dto.AccessoryFileType = file.ContentType;
                    if (dto.AccessoryFileType!= "image/jpeg"&& dto.AccessoryFileType != "image/png") //jpg
                    {
                        return Newtonsoft.Json.JsonConvert.SerializeObject(new { ResultCode = 0, ResultObject = accessoryList, ResultMsg = "请上传jpg,png格式!!" });
                    }
                    dto.AccessoryName = file.FileName;
                    dto.AccessorySize = file.ContentLength;
                    dto.AccessoryUrl = ConfigurationManager.AppSettings["ProductImg:HttpHost2"] + NewFiles + "/" + fileName;
                    dto.Sort = i;
                    accessoryList.Add(dto);
                }
                return Newtonsoft.Json.JsonConvert.SerializeObject(new { ResultCode = 1, ResultObject = accessoryList, ResultMsg = "上传成功!!" });
            }

    3,web配置

    1     <!--图上传FTP路径-->
    2     <add key="ProductImg:HttpHost2" value="ftp://192.168.10.32:99/" />
    3     <add key="ProductImg:FtpHost2" value="192.168.10.32" />
    4     <add key="ProductImg:FtpPort2" value="99" />
    5     <add key="ProductImg:FtpUserName2" value="" />
    6     <add key="ProductImg:FtpUserpwd2" value="" />
    View Code
  • 相关阅读:
    实现h5中radio单击取消与选中
    小程序中的组件化理解
    阿里字体css代码引入方法
    前端布局心得小结
    Python学习资源汇总,转载自他人
    史上最全 原生javascript的知识总结,适合新手及查资料用!
    windows Python 3.4.3 安装图文
    PyInstaller编译python3时使用的详细参数介绍
    PyInstaller 安装方法 及简单的编译exe (python3)
    Windows 安装 GTK+ 图文说明
  • 原文地址:https://www.cnblogs.com/hq89533921/p/13255580.html
Copyright © 2011-2022 走看看