C#保存上传来的图片示例代码

C#保存上传来的图片是一项常见的操作,下面是一个完整的攻略说明:

1.前置条件

在进行C#保存上传来的图片的操作时,首先我们需要创建一个ASP.NET Web应用程序。创建完成后,我们需要在Web.config配置文件中设置文件上传的相关参数:

<system.web>
    <httpRuntime maxRequestLength="1048576" />
    <compilation debug="true" targetFramework="4.5" />
    <authentication mode="None" />
    <pages controlRenderingCompatibilityVersion="4.0" clientIDMode="AutoID">
        <namespaces>
            <add namespace="System.Web.Helpers" />
            <add namespace="System.Web.Mvc" />
            <add namespace="System.Web.Mvc.Ajax" />
            <add namespace="System.Web.Mvc.Html" />
            <add namespace="System.Web.Routing" />
        </namespaces>
    </pages>
</system.web>
<system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
</system.webServer>

其中maxRequestLength表示请求上传文件的最大长度(单位:KB),默认为4MB。若文件大小超过最大上传限制,则会抛出异常。

2.保存图片代码示例

第一条示例:

if(Request.Files.Count > 0) 
{
    HttpPostedFileBase upload = Request.Files[0];

    if (upload != null && upload.ContentLength > 0) 
    {
        string imageName = Path.GetFileName(upload.FileName);
        string imagePhysicalPath = Server.MapPath("~/Uploads/" + imageName);

        //保存图片到服务器
        upload.SaveAs(imagePhysicalPath);

        //显示保存结果
        Response.Write("图片上传成功");
    }
}

上述代码会从Request中获取上传文件,判断文件是否为空,若文件不为空则通过Server.MapPath获取保存路径,并通过SaveAs将文件保存到指定位置。

第二条示例:

FileStream fs = new FileStream(Server.MapPath("~") + "Upload/" + filename, FileMode.CreateNew);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(fileBytes);
bw.Close();
fs.Close();

上述代码中利用了FileStream和BinaryWriter两个对象,通过二进制方式写入文件数据流。其中,Server.MapPath用于将相对路径转换成绝对路径,FileMode.CreateNew表示创建一个新文件,若原先存在同名文件,则会覆盖原先文件。

总结

以上两条C#保存上传来的图片示例代码,可以应用于不同场景。第一条代码操作较为简单,适用于小文件上传;第二条代码需要额外的文件流操作,用于处理大文件上传的情况。需要根据实际需求选择合适的代码段。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#保存上传来的图片示例代码 - Python技术站

(0)
上一篇 2023年6月1日
下一篇 2023年6月1日

相关文章

  • C#实现定时关机小应用

    针对” C#实现定时关机小应用”,我们可以使用System.Diagnostics 命名空间中的Process类来实现。 首先,我们需要一个定时器来控制时间: using System.Windows.Forms; using System.Diagnostics; namespace ShutdownApp { public partial class M…

    C# 2023年6月1日
    00
  • C#生成随机验证码代码分享

    下面是关于C#生成随机验证码的完整攻略。 一、生成随机验证码的基本思路 要生成随机验证码,我们的基本思路是: 定义一个包含所有可能字符的字符串; 随机生成一组字符组合成随机字符串; 显示生成的随机字符串。 二、生成随机验证码的详细步骤 下面我们来详细讲解每一步实现的具体内容。 2.1 定义包含所有可能字符的字符串 我们可以定义一个字符串变量,包含所有可能作为…

    C# 2023年6月3日
    00
  • C#在新建线程中使用Timer无效问题及解决

    当我们在C#中创建新线程时,如果需要在该线程中使用定时器(Timer),可能会遇到定时器无效的问题。这是由于定时器只能在主线程中工作的限制所造成的。在本文中,我们将详细讲解如何避免这个问题,并给出两个示例。 问题的原因 在C#中,System.Threading.Timer是一个线程安全的定时器,可用于重复性操作和单次操作。但是,它的设计是基于CLR线程池,…

    C# 2023年5月15日
    00
  • c# 如何实现获取二维数组的列数

    获取二维数组的列数是c#编程中的一个基础问题,下面详细讲解如何实现。 方法一:使用 GetLength() 方法 c#里的二维数组可以使用 GetLength() 方法获取数组的长度,用这个方法也可以获得二维数组的列数,代码如下: int[,] myArray = new int[,] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, …

    C# 2023年6月6日
    00
  • asp.net读取excel文件的三种方法示例

    标题:ASP.NET读取Excel文件的三种方法示例 读取Excel文件是一个常见的需求,ASP.NET提供了多种方式读取Excel文件,本文将介绍三种方法示例。 1. 使用OleDbDataReader读取Excel文件 通过OleDbDataReader可以读取Excel文件的数据,需要注意的是,连接字符串中需要指定Excel文件的路径和名称,具体代码如…

    C# 2023年6月3日
    00
  • C#的四个基本技巧

    下面是C#的四个基本技巧的完整攻略: 1. 变量 在C#中,我们就需要使用变量来保存和操作数据。变量是存储值的存储器,可以提供不同类型的名称。在C#中,我们使用关键字var、bool、int、float、double、decimal、DateTime等来定义变量。 下面是一个简单的示例,展示如何定义一个整数类型的变量并对其进行基本操作。代码如下: int a…

    C# 2023年5月15日
    00
  • C#中使用Microsoft Unity记录日志

    下面是“C#中使用Microsoft Unity记录日志”的完整攻略: 1. Microsoft Unity是什么? Microsoft Unity是一个开源的轻量级IoC容器,它可以让您实现面向对象编程的优秀设计模式,如依赖注入和控制反转。同时,它还提供一些内置服务,如类型注册、对象解析和构建器模式等。 2. 使用Microsoft Unity记录日志 在…

    C# 2023年6月6日
    00
  • 使用java实现“钉钉微应用免登进入某H5系统首页“功能”

    下面是使用Java实现“钉钉微应用免登进入某H5系统首页”功能的完整攻略。 确定应用类型 首先,需要确定钉钉上申请的应用类型,是H5微应用还是自建应用,这将决定后续开发的方式和技术选型。 获取AccessToken 获取AccessToken是访问钉钉开放平台的前提,我们可以通过开放平台提供的免费工具“开发助手”来获取AccessToken。 获取当前用户信…

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