图片转二进制的相互转化

// 图片转换成二进制

        public static byte[] ImageDatabytes(string FilePath)
        {
            if (!File.Exists(FilePath))
                return null;
            Bitmap myBitmap = new Bitmap(Image.FromFile(FilePath));

            using (MemoryStream curImageStream = new MemoryStream())
            {
                myBitmap.Save(curImageStream, System.Drawing.Imaging.ImageFormat.Png);
                curImageStream.Flush();

                byte[] bmpBytes = curImageStream.ToArray();
                //如果转字符串的话
                //string BmpStr = Convert.ToBase64String(bmpBytes);
                return bmpBytes;
            }
        }

  //二进制转化图片

        public static Bitmap GetImage(byte[] ImageDatas)
        {
            try
            {
                //如果是字符串的话
                //byte[] resultBytes = Convert.FromBase64String(ImageDatas);
                using (MemoryStream ImageMS = new MemoryStream())
                {
                    ImageMS.Write(ImageDatas, 0, ImageDatas.Length);

                    Bitmap resultBitmap = new Bitmap(ImageMS);
                    return resultBitmap;
                }
            }
            catch
            {
                return null;
            }
        }

  二进制图片上传

public class ImageUploader
{
    private static readonly HttpClient client = new HttpClient();
 
    public async Task UploadImageAsync(string imagePath, string uploadUrl)
    {
        // 将图片转换为二进制
        byte[] imageBytes = File.ReadAllBytes(imagePath);
 
        // 使用HttpClient上传二进制数据
        ByteArrayContent content = new ByteArrayContent(imageBytes);
        var response = await client.PostAsync(uploadUrl, content);
 
        // 检查响应状态
        response.EnsureSuccessStatusCode();
        string responseBody = await response.Content.ReadAsStringAsync();
        Console.WriteLine(responseBody);
    }
}
 
// 使用示例
class Program
{
    static async Task Main(string[] args)
    {
        ImageUploader uploader = new ImageUploader();
        string imagePath = "path/to/your/image.jpg";
        string uploadUrl = "http://yourserver.com/upload";
        await uploader.UploadImageAsync(imagePath, uploadUrl);
    }
}

 

posted @ 2024-12-27 17:33  一招致命九虎山  阅读(69)  评论(0)    收藏  举报