Esempio n. 1
0
        /// <summary>
        /// 获取附件HTML
        /// </summary>
        /// <returns></returns>
        public static string FileHtml(Wis.Website.DataManager.Article article)
        {
            if (article.ArticleGuid == null)
                return "";

            Wis.Website.DataManager.FileManager fileManager = new Wis.Website.DataManager.FileManager();
            List<Wis.Website.DataManager.File> files = Wis.Website.DataManager.FileManager.GetFilesBySubmissionGuid(article.ArticleGuid);
            int index = 1;
            System.Text.StringBuilder sb = new StringBuilder();
            foreach (Wis.Website.DataManager.File file in files)
            {
                sb.Append("<p class=\"contenta\">附件:<a href=\"" + file.SaveAsFileName + "\" target=\"_blank\" title=\"点击下载附件\">" + file.OriginalFileName + "</a></p>");
                if (index == files.Count)
                {
                    sb.Append("<br/>");
                }
                index++;
            }

            return sb.ToString();
        }
Esempio n. 2
0
        /// <summary>
        /// 生成缩略图
        /// </summary>
        /// <param name="originalImagePath">源图路径(物理路径)</param>
        /// <param name="thumbnailPath">缩略图路径(物理路径)</param>
        /// <param name="width">缩略图宽度</param>
        /// <param name="height">缩略图高度</param>
        /// <param name="mode">生成缩略图的方式</param>    
        protected void MakeMyThumbPhoto(string originalImagePath, int toW, int toH, int X, int Y, int W, int H)
        {
            System.Drawing.Image originalImage = System.Drawing.Image.FromFile(originalImagePath);
            int towidth = toW;
            int toheight = toH;
            int x = X;
            int y = Y;
            int ow = W;
            int oh = H;

            //新建一个bmp图片
            System.Drawing.Image bitmap = new System.Drawing.Bitmap(towidth, toheight);

            //新建一个画板
            System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap);

            //设置高质量插值法
            g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;

            //设置高质量,低速度呈现平滑程度
            g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

            //清空画布并以透明背景色填充
            g.Clear(System.Drawing.Color.Transparent);

            //在指定位置并且按指定大小绘制原图片的指定部分
            g.DrawImage(originalImage, new System.Drawing.Rectangle(0, 0, towidth, toheight),
                new System.Drawing.Rectangle(x, y, ow, oh),
                System.Drawing.GraphicsUnit.Pixel);
            try
            {
                Wis.Website.DataManager.FileManager fileManager = new Wis.Website.DataManager.FileManager();
                Wis.Website.DataManager.File file = new Wis.Website.DataManager.File();
                file.CreatedBy = string.Empty; // TODO:填写当前登录用户的UserName
                file.CreationDate = System.DateTime.Now;
                file.Description = string.Empty; // TODO:如何提供描述?
                file.FileGuid = Guid.NewGuid();
                file.Hits = 0;
                file.OriginalFileName = "";
                file.Rank = 0;
                // file.SaveAsFileName =
                // file.Size
                // file.SubmissionGuid = // ?
                string fileExtension = ".jpg"; //缩略图后缀名

                string sUserUploadPath = "/Uploads/Photos";
                string DirectoryPath = sUserUploadPath + "/" + DateTime.Now.ToShortDateString();
                if (!System.IO.Directory.Exists(Server.MapPath(DirectoryPath)))
                {
                    System.IO.Directory.CreateDirectory(Server.MapPath(DirectoryPath));
                }
                string sFileName = DateTime.Now.ToString("yyyyMMddHHmmssffff") + fileExtension;  // 文件名称
                string thumbnailPath = Server.MapPath(DirectoryPath + "/" + sFileName );        // 服务器端文件路径

                //以jpg格式保存缩略图
                bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Jpeg);
                ViewState["javescript"] = "ReturnValue('" + DirectoryPath + "/" + sFileName + "');";
                return;
            }
            catch (System.Exception e)
            {
                throw e;
            }
            finally
            {
                originalImage.Dispose();
                bitmap.Dispose();
                g.Dispose();
            }
        }