asp.net保存远程图片的代码

下面是ASP.NET保存远程图片的完整攻略。

1. 核心思路

ASP.NET通过HttpWebRequest对象获取远程图片的数据流,再通过FileStream对象将数据流写入本地文件中。

2. 代码实现

2.1. 方法一

using System;
using System.IO;
using System.Net;

public static bool SaveRemoteImage(string url, string savePath)
{
    try
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        request.Method = "GET";
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        Stream stream = response.GetResponseStream();
        byte[] buffer = new byte[1024];
        int bytesRead = 0;
        FileStream fileStream = new FileStream(savePath, FileMode.CreateNew);
        while ((bytesRead = stream.Read(buffer, 0, buffer.Length)) != 0)
        {
            fileStream.Write(buffer, 0, bytesRead);
        }
        fileStream.Close();
        stream.Close();
        response.Close();
        return true;
    }
    catch
    {
        return false;
    }
}

2.2. 方法二

using System;
using System.IO;
using System.Net;

public static bool SaveRemoteImage(string url, string savePath)
{
    try
    {
        WebClient client = new WebClient();
        client.DownloadFile(url, savePath);
        return true;
    }
    catch
    {
        return false;
    }
}

3. 代码说明

上述代码中,SaveRemoteImage方法用于保存远程图片,接收两个参数:远程图片的URL和保存到本地的文件路径。

3.1. 方法一说明

  • 首先通过HttpWebRequest对象和参数url创建一个GET请求。
  • 然后通过HttpWebRequest.GetResponse()方法获取服务器返回的HttpWebResponse对象。
  • HttpWebResponse.GetResponseStream()方法获得服务器返回数据流。
  • 通过FileStream对象将数据流写入本地文件中。

3.2. 方法二说明

  • 首先创建WebClient对象。
  • 然后通过WebClient.DownloadFile()方法下载远程图片并保存到本地文件中。

需要注意的是,这两种方式保存远程图片时都需要实现异常处理,并返回布尔类型的结果。

4. 使用示例

string url = "https://www.example.com/images/logo.png";
string savePath = "C:\\Temp\\logo.png";

bool result = SaveRemoteImage(url, savePath);
if (result)
{
    Console.WriteLine("保存成功");
}
else
{
    Console.WriteLine("保存失败");
}

以上示例中,将远程图片保存到本地的C:\Temp\logo.png路径下。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:asp.net保存远程图片的代码 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • 使用ASP.Net WebAPI构建REST服务

    下面是关于“使用ASP.Net WebAPI构建REST服务”的完整攻略,包含两个示例。 1. 什么是REST服务? REST(Representational State Transfer)是一种基于HTTP协议的软件架构风格,用于构建分布式系统。REST服务是一种使用HTTP协议提供Web服务的方式,它使用HTTP方法(GET、POST、PUT、DELE…

    C# 2023年5月15日
    00
  • C# 实现窗口无边框,可拖动效果

    下面我为你详细讲解实现C#窗口无边框、可拖动效果的完整攻略。具体步骤如下: 步骤一:关闭窗口边框 为了实现窗口无边框效果,需要先关闭窗口的边框。在C#中,我们可以通过窗口的FormBorderStyle属性来实现此功能,具体方式如下: this.FormBorderStyle = FormBorderStyle.None; 步骤二:设置窗口背景透明 由于我们…

    C# 2023年6月7日
    00
  • C# try catch代码块不起效果的解决方法

    针对C# try catch 代码块不起效果的解决方法,可以有以下步骤: 问题分析 首先要明确为什么try catch代码块不起效果。常见的因素有: 代码中没有处理异常:即没有使用try catch代码块或者try catch代码块中没有正确的异常处理逻辑; 异常被忽略:即异常被抛出后没有被及时捕获处理; 异常被隐藏:即try catch代码块存在层级关系,…

    C# 2023年6月6日
    00
  • 流放之路2.4贵族老鹿近战图腾开荒build分享

    流放之路2.4贵族老鹿近战图腾开荒build分享 背景介绍 在《流放之路》2.4版本中,贵族类职业的老鹿近战图腾开荒技能Build十分受欢迎。该Build主要通过近战攻击以及使用图腾来造成伤害,适合玩家在团队中担任技能输出的角色。本文将详细讲解该Build的制作过程及使用方法。 制作过程 步骤1:选择适合的职业和技能 在制作老鹿近战图腾的Build前,首先需…

    C# 2023年6月6日
    00
  • ASP.NET实现将word文档转换成pdf的方法

    安装Microsoft Office Interop组件 在ASP.NET中将word文档转换为PDF,需要使用Microsoft Office Interop组件。在安装组件之前,需要先安装Microsoft Office软件。之后在Visual Studio中通过NuGet安装Microsoft.Office.Interop.Word组件。安装完成后,将…

    C# 2023年6月1日
    00
  • C# DataTable 转换为 实体类对象实例

    将C# DataTable转换为实体类对象实例是一个很常见的操作,下面是详细的攻略。 步骤一:创建实体类 首先创建一个实体类,其中的属性需要与DataTable里面的字段名称和数据类型一一对应。 public class Person { public int Id { get; set; } public string Name { get; set; }…

    C# 2023年6月1日
    00
  • .NET core高性能对象转换示例代码

    .NET Core高性能对象转换示例代码攻略 本攻略将介绍如何使用.NET Core实现高性能对象转换,包括使用手动映射和自动映射两种方法。本攻略将提供详细的步骤和示例说明,以帮助您快速入门.NET Core高性能对象转换。 步骤 步骤1:创建一个新的.NET Core项目 首先,需要创建一个新的.NET Core项目。可以使用以下命令在命令行中创建新的.N…

    C# 2023年5月17日
    00
  • C#连接ODBC数据源的方法

    连接ODBC数据源是C#中常用到的功能,下面提供一份完整的攻略。 1. 安装ODBC驱动 在连接ODBC数据源之前,需要先安装对应的ODBC驱动程序。驱动的安装方式因具体驱动而异,一般可以通过官方网站下载安装包,并按照说明进行安装。 2. 安装ODBC数据源 在安装完ODBC驱动后,需要根据具体的数据源类型,安装对应的ODBC数据源。数据源安装的步骤与驱动程…

    C# 2023年6月2日
    00
合作推广
合作推广
分享本页
返回顶部