ASP.NET MVC 上传图片到项目目录中的文件夹并显示

因项目需求,需要一个上传图片并显示的功能,类似于上传头像并显示出来。查阅了网上资料,写了个Demo,希望能帮助到更多的人。此Demo基于ASP.NET MVC实现。

 选择图片:

点击按钮进行上传: 

一、先在项目中新建一个文件夹用于存放图片 

                                         

二、View页面代码 

@{Layout = null;
}<!DOCTYPE html>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="~/Scripts/jquery-3.3.1.min.js"></script><script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
</head>
<body>@using (Ajax.BeginForm("", null, new AjaxOptions() { OnSuccess = "PostSuc", OnFailure = "PostFail", HttpMethod = "Post" }, new { enctype = "multipart/form-data", id = "FormBaseData" })){<input type="hidden" name="MouldId" id="MouldId" value="9527" /><input type="file" name="file1" /><input type="button" value="submit" id="btnSubmit" /><img src="" width="300" height="300" display:inline; alt="图片预览" id="mypicture" />}
</body>
</html><script type="text/javascript">$(document).ready(function () {$("#btnSubmit").bind("click", function () { Query(); });})function Query() {$("#FormBaseData").attr("data-ajax-success", "OnQuerySuccess(data)");$("#FormBaseData").attr("data-ajax-failure", "OnQueryFail()");$("#FormBaseData").attr("action", "/home/UploadImg");$("#FormBaseData").submit();}function OnQuerySuccess(data) {$("#mypicture").attr({ "src": data });}function OnQueryFail() {alert("发生错误!");}
</script>

三、Controller端代码 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;namespace WebApplication1.Controllers
{public class HomeController : Controller{public ActionResult Index(){return View();}[HttpPost]public ActionResult UploadImg(long MouldId){string msg = string.Empty;if (Request.Files.Count > 0){HttpPostedFileBase file = Request.Files["file1"];if (file.ContentLength < 5 * 1024 * 1024){string fileType = System.IO.Path.GetExtension(file.FileName);//获取文件类型if (!System.IO.Directory.Exists(Server.MapPath("~/Pictures/"))){System.IO.Directory.CreateDirectory(Server.MapPath("~/Pictures/"));}string filePath = Server.MapPath("~/Pictures/");//保存文件的路径if (fileType != null){fileType = fileType.ToLower();//将文件类型转化成小写if ("(.gif)|(.jpg)|(.bmp)|(.jpeg)|(.png)".Contains(fileType)){file.SaveAs(filePath + file.FileName);string str = "Pictures/" + file.FileName;msg = str;}else{msg = "只支持图片格式";}}}else{msg= "图片大小不能超过5M";}}else{msg = "上传图片不能为空";}return Content(msg);}}
}

参考:https://blog.csdn.net/weixin_44540201/article/details/89630530

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/548390.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JQuery Datatables 样式Style

用了这么久的datatables&#xff0c;才发现datatables有具体的样式和详细说明&#xff0c;还可以自定义配置查看。 点击这里进入datatables官网具体样式查看 一、所有的class属性及示例HTML代码写法&#xff1a; 二、 表格内样式(字体居中、居左、居右等)&#xff0c;targets代…

Juniper SA SSL ×××配置宁盾DKEY短信动态密码步骤

1. 方案简介 传统的双因子认证技术是基于硬件令牌方式&#xff0c;IT管理员会为每个用户分配分发一只令牌&#xff0c;用户登录时输入令牌上显示的6位随即数字&#xff0c;即可完成登录是目前最为常用的强身份认证方案&#xff0c;它最大优点在于认证响应度高&#xff0c;然而采…

使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength 属性设置的值。

一、报错截图如下所示&#xff1a; 二、报错代码&#xff1a; List<BarcodeEntity> Lists _IBarcode.GetBarcodeByWhAndType(WhId,BarcodeType); return Json(Lists,JsonRequestBehavior.AllowGet); 三、修正代码&#xff1a; List<BarcodeEntity> Lists _IBa…

DevExpress之TreeList节点绑定图片

最近在项目中使用到了DX中的TreeList控件绑定数据源时在每个节点前显示特点的图片&#xff1b;查阅相关资料实现方法如下&#xff1a;1.首先打开VS2010新建一个WINFROM应用程序&#xff1b; 2.在WINFROM应用程序中增加DX中的TreeList控件&#xff1b;如下图&#xff1a; 3.在窗…

ASP.NET MVC从数据库读取、存入图片

一、DEMO效果 先选择图片&#xff0c;点击上传后&#xff0c;即可在照片预览中看到照片。如果需要更改&#xff0c;重新上传就可覆盖原图片。 二、代码 页面端&#xff0c;这里有个细节&#xff1a;再次上传后&#xff0c;如果<img>的URL不变&#xff0c;浏览器会从缓存中…

C#使用模板文件批量导出word文档

需求背景 因为疫情爆发&#xff0c;进入一级响应状态&#xff0c;公安部门进行了严格出入境管理&#xff0c;需要对每个出入境的人进行状态跟踪。 疫情专班会将出入境的每个人员汇总在一张Excel表中&#xff0c;如下图所示&#xff1a; 每一行对应一个人员信息&#xff0c;一个…

原子操作的实现原理(锁和循环CAS)

1 引言 原子&#xff08;atom&#xff09;本意是“不能被进一步分割的最小粒子”&#xff0c;而原子操作&#xff08;atomic operation&#xff09;意为”不可被中断的一个或一系列操作” 。在多处理器上实现原子操作就变得有点复杂。本文让我们一起来聊一聊在Inter处理器和…

Linux之软件安装YUM

在终端中输入yum即可…… 如果已经安装&#xff0c;会显示yum的参数 如果没有安装&#xff0c;会提示yum未安装或无效命令…… 建议&#xff1a; 以Redhat Enterprise Linux 5&#xff08;RHEL 5&#xff09;为例&#xff1a; 1. 首先你可以使用命令&#xff1a;rpm -qa |grep …

cdgb调试linux崩溃程序

直接上原图: 使用命令:cgdb test test.core.2235 安装cgdb程序步骤&#xff1a; 1&#xff1a;wget http://cgdb.me/files/cgdb-0.7.1.tar.gz(网络会受到影响) 2:解压.tar.gz文件 3:./configure --prefix/usr/local之后会提示 error: CGDB requires curses.h or ncurses/cu…

hMailServer 邮件系统安装配置篇

此篇进入正题&#xff0c;详细的说一下安装和配置过程。得先说一下&#xff0c;hMailServer是真正的邮件服务端&#xff0c;而Roundcube Webmail仅仅是为hMailServer提供Webmail应用的&#xff0c;可以让你通过Web方式收发邮件&#xff0c;如果你不用Web方式收发邮件&#xff0…

八皇后问题 递归求解法

#include <iostream> #include <fstream> #include <string.h>/** 八皇后问题递归方法实现 */ using namespace std;ofstream file;//用以计数计算结果的数目 int count 1; /** 打印的棋盘其中打印1的位置是皇后的位置&#xff0c;0空位。 这里因为在控制台…

squid代理服务器在企业网中的应用

一&#xff0c;squid服务器概述 Squid是一种在Linux系统下使用的优秀的代理服务器软件。 squid不仅可用在Linux系统上&#xff0c;还可以用在AIX、Digital Unix、FreeBSD、HP-UX、Irix、NetBSD、Nextstep、SCO和Solaris等系统上。 Squid与Linux下其它的代理软件如Apache、Socks…

MPLS ×××配置

MPLS 配置以下面拓扑为例配置MPLS 拓扑说明&#xff1a;R1&#xff0c;R2、R3路由器上分别配置Loopback1 接口&#xff0c;IP地址分别为1.1.1.1&#xff0c;2.2.2.2 3.3.3.3&#xff1b;并配置OSPF&#xff0c;让MPLS区域内的地址可以进行标签交换1、在MPLS区域配置标签交换R1&…

oracle异常处理

2019独角兽企业重金招聘Python工程师标准>>> CREATE OR REPLACE PACKAGE BODY TEST_PACKAGE IS --异常分为&#xff1a;编译是错误(语法错误)、运行时错误(编译器无法检查&#xff0c;对应某些情况程序是可以正常执行的&#xff0c;但在某些特点情况下程序不会正确执…

IOS程序内发短信

2019独角兽企业重金招聘Python工程师标准>>> iOS4.0新加入了MFMessageComposeViewController和MFMessageComposeViewControllerDelegate,提供了发送短信的接口,可以像发送邮件那样不用跳出程序来发送短信. 介绍可参阅Message UIFramework Reference 一些笔记: MFMes…

JQUERY学习第二天之制作横纵向导航菜单

$(document).ready(function(){ //页面中的DOM已经装载完成时&#xff0c;执行的代码 $(".main > a").click(function(){ //找到主菜单项对应的子菜单项 var ulNode $(this).next("ul"); /* if (ulNode.css("display") "none"…

任何项目都适用的CMakeLists配置

声明下&#xff1a;本人想把CMakeLists中的内容写好,csdn格式化了&#xff0c;无能为力&#xff0c;以下是本人在生产环境中已经使用过了。 测试代码: #include int main() { //不支持linux //#ifndef _DEBUG #ifndef DEBUG std::cout << “release” << std::end…

深入 Apache Kylin Cube 与查询优化

2019独角兽企业重金招聘Python工程师标准>>> 近几年&#xff0c;Apache Kylin作为一个高速的开源分布式大数据查询引擎正在迅速崛起。它充分发挥Hadoop、Spark、HBase等技术的优势&#xff0c;通过对超大规模数据集进行预计算&#xff0c;实现秒级甚至亚秒级的查询响…

Centos搭建SVN服务器及配置文件

2019独角兽企业重金招聘Python工程师标准>>> 1、安装 #yum install subversion 判断是否安装成功 yum安装结束时会显示版本 svnserve, version 1.6.11 (r934486) 出现上面的提示&#xff0c;说明安装成功。 有了SVN软件后还需要建立SVN库。 #mkdir /opt/svn/repos …