首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >上传时将图片转换为png格式

上传时将图片转换为png格式
EN

Stack Overflow用户
提问于 2013-06-25 18:18:47
回答 3查看 19.4K关注 0票数 4

当用户上传jpg/gif/bmp图像时,我希望将此图像转换为png图像,然后转换为base64字符串。

我一直在想办法解决这个问题,但是我真的遇到了麻烦,有没有人能帮帮我?

我当前不带图像转换的代码如下:

代码语言:javascript
复制
public ActionResult UploadToBase64String(HttpPostedFileBase file)
        {

                var binaryData = new Byte[file.InputStream.Length];
                file.InputStream.Read(binaryData, 0, (int) file.InputStream.Length);
                file.InputStream.Seek(0, SeekOrigin.Begin);
                file.InputStream.Close();

                string base64String = Convert.ToBase64String(binaryData, 0, binaryData.Length);

...
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-06-25 18:23:27

你根本没有在那里转换它..您可以使用类似以下内容:

代码语言:javascript
复制
using System.Drawing;

Bitmap b = (Bitmap)Bitmap.FromStream(file.InputStream);

using (MemoryStream ms = new MemoryStream()) {
    b.Save(ms, ImageFormat.Png);

    // use the memory stream to base64 encode..
}
票数 22
EN

Stack Overflow用户

发布于 2013-06-25 18:27:43

您可以在temp文件夹中转换为PNG,然后上传。

代码语言:javascript
复制
private string GetConvertedPNGFile(string imagename)
{
    var bitmap = Bitmap.FromFile(imagename);
    b.Save(Path.GetFileName(imagename) + ".png", ImageFormat.Png);
    return Path.GetFileName(imagename) + ".png";
}

现在上传更改后的文件,然后删除转换后的文件。

票数 1
EN

Stack Overflow用户

发布于 2018-08-03 14:06:27

png此代码用于在asp.net文件夹中保存格式的图像

#region保存图片为Png格式

代码语言:javascript
复制
             string imgName1 = "Photo\_" + lblCode.InnerText;
代码语言:javascript
复制
            Guid uid1 = Guid.NewGuid();
            string PhotoPath1 = Server.MapPath("~/Employee/EmpPngPhoto/") + lblCode.InnerText;
            string SavePath1 = PhotoPath1 + "\\" + imgName + ".png";
            if (!(Directory.Exists(PhotoPath1)))
            {
                Directory.CreateDirectory(PhotoPath1);
            }
            System.Drawing.Bitmap bmpImage1 = new System.Drawing.Bitmap(fuPhotoUpload.PostedFile.InputStream);
            System.Drawing.Image objImage1 = ScaleImage(bmpImage1, 160);
            objImage.Save(SavePath1, ImageFormat.Png);
            #endregion
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17294737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档