Esempio n. 1
0
        private string AddOrUpdateFile(Stream stream, ImagesSize[] sizes, string fileKey)
        {
            if (sizes != null)
                foreach (var imagesSize in sizes)
                {
                    if (!this.checkWidthHeight(imagesSize.Width, imagesSize.Height))
                    {
                        throw new ArgumentException("图片大小参数错误");
                    }
                }

            var filename = this._curFileDisposer.SaveFile(stream, fileKey);


            //this.CurKeyDisposer.CreateFileKey(filename,
            if (sizes != null)
                foreach (var imagesSize in sizes)
                {
                    var width = imagesSize.Width;
                    var height = imagesSize.Height;
                    if (this.needThumb(width, height))
                    {
                        var streamtemp = Dev.Comm.IO.StreamHelper.CopyFrom(stream);

                        //缩略后的图像数据
                        var thumbObj = Thumbnail(streamtemp, width, height);
                        //保存
                        var thumbfilename = this._curFileDisposer.UpdateFile(thumbObj, fileKey, "-", width, "_", height);

                        //filename = thumbfilename;
                    }
                }
            return filename;
        }
Esempio n. 2
0
 /// <summary>
 ///   更新图片
 /// </summary>
 /// <param name="stream"> </param>
 /// <param name="fileKey"> </param>
 /// <param name="sizes"> </param>
 /// <exception cref="ArgumentException"></exception>
 public void UpdateImageFile(Stream stream, string fileKey, ImagesSize[] sizes)
 {
     var filename = this.AddOrUpdateFile(stream, sizes, fileKey);
 }
Esempio n. 3
0
        public string SaveImageFile(Stream stream, string fileName, ImagesSize[] sizes)
        {
            //实际判断文件类型忽略文件名
            var ext = FileUtil.CheckImageExt(stream);

            if (fileName == null)
                throw new Exception("上传文件非图片类型");

            fileName = "x" + ext;

            var fileKey = this._curKeyDisposer.CreateFileKey(fileName);

            var filename = this.AddOrUpdateFile(stream, sizes, fileKey);

            return filename;
        }
Esempio n. 4
0
 /// <summary>
 /// </summary>
 /// <param name="bytefile"> </param>
 /// <param name="fileName"> </param>
 /// <param name="sizes"> </param>
 /// <returns> </returns>
 public string SaveImageFile(byte[] bytefile, string fileName, ImagesSize[] sizes)
 {
     return this.SaveImageFile(new MemoryStream(bytefile), fileName, sizes);
 }