Esempio n. 1
0
        /// <summary>
        /// 附件操作
        /// </summary>
        /// <param name="httpFiles"></param>
        /// <param name="fileId"></param>
        /// <param name="isTrans">回复或转发</param>
        /// <returns></returns>
        static List <Attachment> GetAttachs(System.Web.HttpFileCollectionBase httpFiles, string fileId, bool isTrans)
        {
            var relativePath = "";
            var path         = Sys.SysConstPool.SaveAttachPath(ref relativePath);
            var root         = Sys.SysConstPool.GetRoot;
            var list         = new List <Attachment>();

            if (isTrans && !fileId.IsNullOrEmpty())
            {
                var ids     = fileId.Split(',').Select(o => int.Parse(o)).ToList();
                var attachs = AttachService.FindList(o => ids.Contains(o.Id));
                foreach (var att in attachs)
                {
                    var      full = Path.Combine(root, att.SaveUrl);
                    FileInfo file = new FileInfo(full);
                    if (!file.Exists)
                    {
                        continue;
                    }
                    var destFileName = att.SaveUrl.Replace(file.Name, CommonRules.GUID + file.Extension);
                    var destFile     = Path.Combine(root, destFileName);
                    var info         = file.CopyTo(destFile);
                    list.Add(new Attachment()
                    {
                        SourceClassify = 3,
                        Title          = att.Title,
                        Size           = att.Size,
                        SaveUrl        = destFileName
                    });
                }
            }
            for (int i = 0; i < httpFiles.Count; i++)
            {
                var file = httpFiles[i];
                if (file.ContentLength <= 0)
                {
                    continue;
                }
                var    filename = CommonRules.GUID + Path.GetExtension(file.FileName);
                string fullname = path + filename;
                file.SaveAs(fullname);
                list.Add(new Attachment()
                {
                    SourceClassify = 3,
                    Title          = Path.GetFileName(file.FileName),
                    Size           = file.ContentLength / 1024,
                    SaveUrl        = relativePath + filename
                });
            }
            return(list);
        }