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日

相关文章

  • .NET 5 部署在docker上运行的方法

    .NET 5 部署在 Docker 上运行的方法 在本文中,我们将详细讲解如何将 .NET 5 应用程序部署到 Docker 容器中,并在容器中运行应用程序。我们将提供两个示例,以演示如何使用 Docker 部署 .NET 5 应用程序。 准备工作 在开始之前,您需要安装以下软件: Docker .NET 5 SDK 示例一:使用 Docker 部署 .NE…

    C# 2023年5月16日
    00
  • .NET微信开发之PC 端微信扫码注册和登录功能实现

    针对“.NET微信开发之PC 端微信扫码注册和登录功能实现”的攻略,我将提供完整的解释与示例,以方便大家理解。 目录 前言 技术栈 环境准备 需求分析 技术实现 总结 前言 微信是目前国内最受欢迎的社交软件之一,在PC端使用微信成为了不小的需求。为此,我们将为大家介绍使用.NET技术实现PC端微信扫码注册和登录的完整攻略。 技术栈 .NET Framewor…

    C# 2023年5月31日
    00
  • Android中基于XMPP协议实现IM聊天程序与多人聊天室

    下面我来为你详细讲解在Android中如何基于XMPP协议实现IM聊天程序与多人聊天室。 1. 准备工作 在开始实现之前,需要完成以下准备工作: 下载安装openfire服务器,并创建一个XMPP用户 在Android Studio中创建一个新项目,并添加Smack相关依赖库 编写登录界面 2. Smack库的使用 Smack是一个Java XMPP协议实现…

    C# 2023年6月6日
    00
  • asp.net 细说文件读写操作(读写锁)

    ASP.NET细说文件读写操作(读写锁) 介绍 在ASP.NET应用程序中,文件读写操作是很常见的场景,但是如果多个线程同时访问同一个文件并执行读写操作,就有可能会引起线程安全问题,进而导致应用程序崩溃或数据丢失等问题。为了确保线程安全,我们需要采用读写锁来控制文件的访问。本文将详细讲解ASP.NET应用程序中如何实现文件读写操作,并介绍读写锁的使用。 文件…

    C# 2023年5月15日
    00
  • C#实现判断当前操作用户管理角色的方法

    下面是“C#实现判断当前操作用户管理角色的方法”的完整攻略: 1. 获取当前用户信息 在进行角色判断之前,需要先获取当前操作的用户信息,包括用户的编号、姓名、角色、权限等等。可以通过以下代码获取: // 获取当前登录用户信息 var user = User.Identity.GetUserIdentity(); 2. 获取当前用户的角色 得到当前用户的信息后…

    C# 2023年5月15日
    00
  • Winform界面中实现菜单列表的动态个性化配置管理方法

    Winform界面中实现菜单列表的动态个性化配置管理方法,可以通过以下步骤来实现: 1. 数据存储 首先,需要将菜单列表的配置信息存储在数据源中,例如使用XML或JSON格式。在这个数据源中,每个菜单项都有自己的属性包括菜单名称、菜单ID、菜单所处的层级以及是否可见等。 例如,可以使用以下XML格式的数据源来存储菜单列表的信息: <MenuItems&…

    C# 2023年6月7日
    00
  • c#实现winform屏幕截图并保存的示例

    下面是 “c#实现winform屏幕截图并保存的示例”的完整攻略。 1. 前置知识 在进行本次实验之前,请确保你已经掌握以下内容: C#语言基础知识 Winform应用程序开发和控件使用 .NET Framework中Graphics和Bitmap类的使用 2. 实现屏幕截图的代码 下面是一个简单的C#程序,利用Graphics和Bitmap类从当前屏幕中截…

    C# 2023年6月6日
    00
  • Java import static及import原理区别解析

    Java import static及import原理区别解析 在Java中,我们可以使用import语句来导入其他类或接口的定义,以便在当前类中使用它们。除了常规的import语句外,Java还提供了import static语句,用于导入静态成员。本文将详细讲解Java import static及import原理区别解析。 import语句 在Java…

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