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日

相关文章

  • C#中命名参数和可选参数

    C#中的命名参数和可选参数可以方便地在方法调用中设置参数的值,从而提高代码的可读性和灵活性。下面是详细的攻略说明。 命名参数 命名参数允许在方法调用时,通过指定参数名的方式来传递参数,而不必考虑参数的顺序。这样可以使得代码更加易读和易维护。 定义一个方法并使用命名参数的示例代码如下: public void PrintInfo(string name, in…

    C# 2023年6月1日
    00
  • 在ASP.NET 2.0中操作数据之四十七:用SqlDataSource控件插入、更新、删除数据

    在ASP.NET 2.0中,使用SqlDataSource控件可以方便地操作数据,包括插入、更新、删除数据。下面将详细讲解如何使用SqlDataSource控件完成这些操作。 在ASP.NET 2.0中操作数据之四十七:用SqlDataSource控件插入数据 要使用SqlDataSource控件插入数据,需要完成以下步骤: 第一步:添加SqlDataSou…

    C# 2023年5月31日
    00
  • C#表达式树的基本用法讲解

    C#表达式树的基本用法讲解 什么是表达式树 表达式树是C#语言中的一种数据结构,用于表示代码中的表达式。它可以使代码中的表达式成为运行时对象,能够被操作,并能够获取表达式的类型和元数据。表达式树的主要用途是支持Lambda表达式和LINQ查询,它们都使用了表达式树。 表达式树是一种特殊的对象树,树的节点代表了代码中的表达式。例如一个简单的表达式 “x =&g…

    C# 2023年5月31日
    00
  • C# 迭代器分部类与索引器详情

    让我通过以下标题,详细讲解C#迭代器分部类与索引器的详情: 1. 迭代器分部类 1.1 什么是迭代器 在C#中,迭代器是一种用于简化类似于集合、列表、数组等序列的遍历操作的机制。使用迭代器,我们可以通过简单且易于理解的方式遍历序列,而无需考虑复杂的内部实现。 1.2 什么是迭代器分部类 迭代器分部类是一种特殊的类类型,它可以在多个文件中声明并定义,在编译时会…

    C# 2023年5月31日
    00
  • .NET Core配置连接字符串和获取数据库上下文实例

    在 .NET Core 中,可以使用配置文件来配置连接字符串,并使用依赖注入来获取数据库上下文实例。以下是 .NET Core 配置连接字符串和获取数据库上下文实例的完整攻略: 步骤一:创建配置文件 在 .NET Core 项目中,可以使用 appsettings.json 文件来配置连接字符串。可以在 appsettings.json 文件中添加 Conn…

    C# 2023年5月17日
    00
  • windows中使用C# 调用 C语言生成的dll

    准备工作 首先,确保你会C#开发,并且已经安装好了Visual Studio。其次,我们需要准备一个C语言的dll,作为我们的示例,我们将使用以下的代码: #include <stdio.h> int add_numbers(int a, int b) { return a + b; } 保存以上代码到一个add_numbers.c的文件中。接下…

    C# 2023年6月1日
    00
  • 字符串阵列String[]转换为整型阵列Int[]的实例

    将字符串数组String[]转换为整型数组int[]是编程中很常见的操作,我们可以使用Java提供的内置函数进行转换。 以下是转换的完整攻略: 1.遍历字符串数组 首先,我们需要遍历字符串数组String[],并且将每个元素转换为整型。 String[] strArray = {"10", "20", "30…

    C# 2023年6月8日
    00
  • C# 添加、修改以及删除Excel迷你图表的实现方法

    这里是详细的攻略: C# 添加、修改以及删除Excel迷你图表的实现方法 1. 前置条件 在开始实现前,需要准备以下环境: Visual Studio或其他开发环境。 Microsoft Office Excel。 在代码中,我们需要用到以下几个命名空间: using Microsoft.Office.Interop.Excel; using System.…

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