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; }
/// <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); }
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; }
/// <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); }