正在转换项目文件夹中的图像

本文关键字:图像 文件夹 项目文件 转换 项目 | 更新日期: 2023-09-27 18:28:56

我正在尝试转换我的图像文件夹中的图像和图像名称defaultImage,并更新到我的数据库表中。

但现在我在这行代码中遇到了问题:

我使用以下代码更改代码:

Image uploaded6 = Image.FromFile("/image/defaultImage.jpg");

而不是这个:

System.Drawing.Image uploaded = System.Drawing.Image.FromStream(~/images/defaultImage );

我现在得到FileNotFoundException was unhandled by user code 的错误

我尝试过使用fileupload控件的这种方法,它运行良好,但不确定如何转换文件夹中的图像。

如何从文件夹中获取图像,以便使用下面显示的方法进行转换。

Image uploaded6 = Image.FromFile("/image/defaultImage.jpg");
//System.Drawing.Image uploaded = System.Drawing.Image.FromStream();
System.Drawing.Image newImage = new Bitmap(1024, 768);
using (Graphics g = Graphics.FromImage(newImage))
{
    g.InterpolationMode = InterpolationMode.HighQualityBicubic;
    g.DrawImage(uploaded, 0, 0, 1024, 768);
}
byte[] results;
using (MemoryStream ms = new MemoryStream())
{
    ImageCodecInfo codec = ImageCodecInfo.GetImageEncoders().FirstOrDefault(c => c.FormatID == ImageFormat.Jpeg.Guid);
    EncoderParameters jpegParms = new EncoderParameters(1);
    jpegParms.Param[0] = new EncoderParameter(Encoder.Quality, 95L);
    newImage.Save(ms, codec, jpegParms);
    results = ms.ToArray();
}
string sqlImage = "update MemberReport set image1 = @Data where memberreportid = '" + Session["memberreportid"] + "'";
SqlCommand cmdImage = new SqlCommand(sqlImage);
cmdImage.Parameters.AddWithValue("@Data", results);
InsertUpdateData(cmdImage);

正在转换项目文件夹中的图像

我想你的问题是相对路径,而不是

Image uploaded6 = Image.FromFile("/image/defaultImage.jpg");

您应该提供本地路径,可以通过以下方式获得:

Image uploaded6 = Image.FromFile(Server.MapPath("~/image/defaultImage.jpg"));

System.Drawing.Image.FromStream需要"MemoryStream"作为参数。

 byte[] file = null;
 MemoryStream memoryStream = new MemoryStream();
 memoryStream = new MemoryStream(file, false);
 System.Drawing.Image objTempImg = System.Drawing.Image.FromStream(memoryStream)

byte[]文件基于64图像

System.Drawing.Image.FromStream(Stream)

必须在此方法中发送Stream参数。