zoukankan      html  css  js  c++  java
  • 文件上传

      1     /// <summary>
      2     /// 文件上传
      3     /// </summary>
      4    public class FileUpload
      5     {
      6         /// <summary>
      7         /// 单个文件上传(只获取第一个文件,返回的文件名是文件的md5值),返回为json数据格式,成功返回{status:"success",website:"a.jpg"},失败,返回{status:"error",website:"error"}
      8         /// </summary>
      9         /// <param name="context">上下文</param>
     10         /// <param name="FilePath">文件路径</param>
     11         /// <param name="outFileName">返回文件的md5</param>
     12         /// <returns>返回json状态信息</returns>
     13        public static string FileUploadSingle(HttpContext context, string FilePath,out string outFileName)
     14        { 
     15            string json="";
     16         //找到目标文件对象
     17         HttpFileCollection hfc = context.Request.Files;
     18             HttpPostedFile hpf = hfc[0];
     19 
     20             if (hpf.ContentLength > 0)
     21             {
     22                 //根据文件的md5的hash值做文件名,防止文件的重复和图片的浪费
     23                 string FileName = CreateFileForFileNameByMd5(hpf.FileName); //CreateDateTimeForFileName(hpf.FileName);//自动生成文件名
     24                 
     25                 string file = System.IO.Path.Combine(FilePath,
     26                  FileName);
     27                 if (!Directory.Exists(Path.GetDirectoryName(file)))
     28                 {
     29                     Directory.CreateDirectory(file);
     30                 }
     31                 hpf.SaveAs(file);
     32                 json = "{status:"success",website:"" + FileName + ""}";
     33                 outFileName = FileName;
     34             }
     35             else {
     36                 json = "{status:"error",website:"error"}";
     37                 outFileName = FilePath;
     38             }
     39           
     40         return json;
     41        
     42        }
     43        /// <summary>
     44        /// 单个文件上传(只获取第一个文件,返回的文件名是文件的md5值),返回为json数据格式,成功返回{status:"success",website:"a.jpg"},失败,返回{status:"error",website:"error"}
     45        /// </summary>
     46        /// <param name="context">上下文</param>
     47        /// <param name="FilePath">文件路径</param>
     48        /// <param name="outFileName">返回文件的md5</param>
     49        /// <returns>返回json状态信息</returns>
     50        public static string FileUploadMulti(HttpContext context, string FilePath, out string[] outFileName)
     51        {
     52           
     53            string json = "";
     54            //找到目标文件对象
     55            HttpFileCollection hfc = context.Request.Files;
     56             outFileName=new  string[hfc.Count];
     57             for (int i=0;i<hfc.Count;i++)
     58             {
     59                 if (hfc[i].ContentLength > 0)
     60                 {
     61                     //根据文件的md5的hash值做文件名,防止文件的重复和图片的浪费
     62                     string FileName = CreateFileForFileNameByMd5(hfc[i].FileName); //CreateDateTimeForFileName(hpf.FileName);//自动生成文件名
     63 
     64                     string file = System.IO.Path.Combine(FilePath,
     65                      FileName);
     66                     if (!Directory.Exists(Path.GetDirectoryName(file)))
     67                     {
     68                         Directory.CreateDirectory(file);
     69                     }
     70                     hfc[i].SaveAs(file);
     71                     outFileName[i]= FileName;
     72                 }
     73                 
     74             }
     75            //如果文件非空,就返回json数据
     76             if (outFileName.Count() > 0)
     77                 json = "{status:"success",website:"" + string.Join(",",outFileName) + ""}";
     78            else
     79              json = "{status:"error",website:"error"}";
     80            
     81 
     82            return json;
     83 
     84        }
     85        /// <summary>
     86        /// 根据文件的md5值当作文件的文件名(
     87        /// </summary>
     88        /// <param name="FileName">文件名</param>
     89        /// <returns>文件的md5值</returns>
     90        public static string CreateFileForFileNameByMd5(string FileName)
     91        {
     92           //return  TZHSWEET.Common.MD5Provider.Hash(FileName)+Path.GetExtension(FileName);
     93            return "";
     94        }
     95 
     96        /// <summary>
     97        /// 根据当前时间生成文件名
     98        /// </summary>
     99        /// <returns></returns>
    100        public static string CreateDateTimeForFileName(string FileName)
    101        {
    102            string datetime=DateTime.Now.ToString ("yyyyMMddhhmmssffff");
    103       string FilePath=datetime+Path.GetExtension(FileName);
    104            return FilePath;
    105        }
    106     }
  • 相关阅读:
    unity remote 连接设置
    cocos2d-x android环境中lua脚本的io操作
    记一次图片存储方式的修改(使用wcf和iis进行图片的上传和发布)
    是时候写点什么了
    VS2012+EF6+Mysql配置心路历程
    MVC中调用Public_Class时,VS2012老提示:当前上下文中不存在名称“Json”的解决方法
    DWZ错误的解决:0x800a13af
    MVC与DWZ整合中部分问题的解决
    MVC+EF6使用MySQL+CodeFirst的详细配置
    XHEditor(MVC4+DWZ) 部分问题的解决
  • 原文地址:https://www.cnblogs.com/xzitluyang/p/5898655.html
Copyright © 2011-2022 走看看