第1个回答 2013-09-19
存路径不会失真,如果存的是image类型的话 给你个例子,刚好最近做项目做过。protected void linSaveImg_Click(object sender, EventArgs e)
{
string fileName = this.GenFileName();
string FileLastName = fileName.Substring(fileName.LastIndexOf(".") + 1);//得到文件的扩展名
List<QueryCriteria> condList = new List<QueryCriteria>()
{
new QueryCriteria(){ FieldName="SP_GUID", Comparison= EnumSqlComparison.Equal, Value=guid}
};
SHANGPIN2Info shangpin = new SHANGPIN2().GetFirst(condList);
Stream ImageStream;
string Path = fileName;// 文件名称
int Size = FileLoadIMG.PostedFile.ContentLength; // 文件大小【不处理它的话一定不会失真
】 string Type = FileLoadIMG.PostedFile.ContentType; // 文件类型
ImageStream = FileLoadIMG.PostedFile.InputStream;
shangpin.IMAGES2 = System.Drawing.Image.FromStream(ImageStream);
shangpin.SP_GUID = guid;
SHANGPINInfo sp = new SHANGPIN().GetEntity(guid);
sp.Images = shangpin.IMAGES2;
new SHANGPIN().Update(sp);
new SHANGPIN2().Update(shangpin);
}
/// <summary>
/// 循环生成新的文件名
/// </summary>
/// <returns></returns>
private string GenFileName()
{
string FileName = this.FileLoadIMG.FileName;//获取文件名
string FileLastName = FileName.Substring(FileName.LastIndexOf(".") + 1);//得到文件的扩展名
string FileTime = DateTime.Now.ToString("yyyyMMddHHmmss");//得到系统时间(格式化)并加上随机数以便生成上传图片名称
FileName = FileTime + "." + FileLastName;//产生上传图片的名称
return FileName;
} 读图片private void GetProductImage(HttpContext context)
{
if (context.Request.QueryString["PID"] != null)
{
spguid = context.Request.QueryString["PID"].ToString();
SHANGPINInfo spM = new SHANGPINInfo();
SHANGPIN BLL = new SHANGPIN();
spM = BLL.GetEntity(spguid);
System.IO.MemoryStream ms = new System.IO.MemoryStream();
if (spM.Images != null)
{
spM.Images.Save(ms, spM.Images.RawFormat);
byte[] pic = ms.ToArray();
ms.Close();
ms.Dispose();
context.Response.ContentType = "image/Gif";
context.Response.BinaryWrite(pic);
}
else
{
context.Response.Write("暂无图片");
}
}
}
<img id="MiddleImage" src='<%=Common.GetPic(guid,true) %>' />
#region 获取商品图片
public static string GetPic(string spguid)
{
return ApplicationPath + "/Handler/ProductImgHandler.ashx?PID=" + spguid;
}