主要完成的是在网页上 上传一张图片到服务器

我搜出来的上传文件代码都特别复杂,对于初学者来说,先解决能上传的问题才最重要,并不需要特别多的功能,仅适合不会上传的初学者,大神请绕路,错误请指出,谢谢

view内容(由于是从项目中直接拷贝出来的,需要整理才可使用,看关键的就好了):

  图片:

  代码:

            <!--这里的method 和 enctype 要照写,不要忘写或写错-->
      <form action="ManageIcon" method="post" enctype="multipart/form-data" class="form-horizontal" role="form">
<div class="col-sm-6">
<label class="text-warning">请选择尺寸为160*160的图片</label>
<div class="row">
<div class="col-md-10">
<a href="#" class="thumbnail">
@*<img src="@ViewBag.LoginedUser.Icon" class="img-responsive" alt="Cinque Terre" style="height:160px;width:160px">*@
</a>
</div>
</div>
</div>
<div class="col-sm-6">
              <!--注意这里,这里的input在后台很关键,下面会有提示-->
<input name="filename" id="filename" type="file"/>
</div>
<div class="col-sm-12" style="margin-top:30px">
<button type="submit" id="s" class="btn btn-primary" style="margin-left:30px">保存</button>
<button type="button" class="btn btn-default" style="margin-left:30px">取消</button>
</div>
</form>

项目目录:

控制器代码

  [HttpPost]
public ActionResult ManageIcon(IEnumerable <HttpPostedFileBase>filename)
{
foreach (var file in filename)
{
          //重命名,图片在服务器上的名字
string name = Path.GetFileName(file.FileName);
string[] la = name.Split('.');
string nameNew = DateTime.Now.ToFileTimeUtc().ToString();
nameNew += "."+la[la.Length];           //获取项目根目录
string path = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;

          //这里获取前台传来的流信息
          using (Stream inputstream = file.InputStream)
{
//在服务上创建文件流,事先已经在根目录创建了\Images\Icons文件夹
            FileStream fs = new FileStream(path+"Images\\Icons\\"+nameNew,FileMode.CreateNew,FileAccess.ReadWrite);
  
            //文件读写
            byte[] buffer=new byte[];
   int a = inputstream.Read(buffer,,buffer.Length);
while(a!=){
fs.Write(buffer,,buffer.Length);
a = inputstream.Read(buffer, , buffer.Length);
}             //不写这里可能会上传不完整,如下图
fs.Flush();
fs.Close();
}
} return View();
}

示例图(第二张没有上传完整):

.net MVC 简单图片上传的更多相关文章

  1. 简单2步实现 asp.net mvc ckeditor 图片上传

    1.打开ckeditor 包下的  config.js,添加一句 配置(PS:ckeditor 很多功能都在该配置文件里配置),如下: config.filebrowserImageUploadUrl ...

  2. Webuploader 简单图片上传 支持多图上传

    简介: 通过webuploader 实现简单的图片上传功能,支持多张图上传 官方文档传送门:http://fex.baidu.com/webuploader/getting-started.html# ...

  3. Mvc 批量图片上传

    首先导入文件(官网上下载 kindeditor ): <link href="~/kindeditor-4.1.11-zh-CN/kindeditor/themes/default/d ...

  4. Asp.net MVC 实现图片上传剪切

    使用技术:Asp.net MVC与jquery.uploadify,Jcrop 首先上页面 01 <strong><!DOCTYPE html> 02  <html> ...

  5. c# ASP.NET MVC easyui-filebox 图片上传和显示

    原文:https://www.cnblogs.com/huatao/p/4727398.html https://www.cnblogs.com/weiweithe/p/4363458.html 表单 ...

  6. ___简单的MVC单个图片上传预览

    js: $("#btnImg").click(function () { $("#form0").ajaxSubmit({ url: "/Studen ...

  7. MVC WebApi 图片上传和显示

    1 MVC中显示 内存流 中的图片.(不是图片文件) 创建一个Index用来显示 Action: public ActionResult Index() { return View(); } csht ...

  8. Asp.Net Mvc 使用WebUploader 多图片上传

    来博客园有一个月了,哈哈.在这里学到了很多东西.今天也来试着分享一下学到的东西.希望能和大家做朋友共同进步. 最近由于项目需要上传多张图片,对于我这只菜鸟来说,以前上传图片都是直接拖得控件啊,而且还是 ...

  9. .NET MVC实现多图片上传并附带参数(ajaxfileupload)

    做网站呢,都免不了要做图片上传. 还记得去年做微信的时候用WebAPI+ajaxfileupload.js做了一个能够附带参数上传的功能,博文地址:.NET WebAPI 实现图片上传(包括附带参数上 ...

随机推荐

  1. C#面向对象设计模式纵横谈——5.Factory Method 工厂方法模式(创建型模式)

    动机 (Motivation) 在软件系统中,经常面临着“某个对象”的创建工作; 由于需求的变化,这个对象经常面临着剧烈的变化,但是它却拥有比较稳定的接口. 如何应对这种变化?如何提供一种“封装机制” ...

  2. Javascript模板引擎插件收集

    为什么要用JS的模板引擎,打个比方,如果你要通过接口绑定数据,最终要加进去DOM中,我们普遍的做法就是不断的+,最终append进去,但是这样的做法就是后续人员压根就没法维护.所以这时模板引擎出来了. ...

  3. linux单网卡多IP配置

    一.仅一个网卡的情况下,可以让该机器可以通过多个IP被访问,或隐藏常用IP,让他人访问其临时IP. 1.如果临时性的增加一个IP(重启机器或network服务后,丢失),可以使用ifconfig命令 ...

  4. BZOJ2809: [Apio2012]dispatching

    传送门 主席树经典题. 首先把树搞出来,然后搞出来DFS序.然后离散化点权,在DFS序上建立主席树. 对于每个点对应的区间,查找对应的区间最大的点数即可. //BZOJ2809 //by Cydiat ...

  5. 检测对象是否为数组 instanceof

    [1,2] instanceof Array //true Object.prototype.toString.apply([]); === "[object Array]"; O ...

  6. 【转】一千行MySQL学习笔记

    /* 启动MySQL */ net start mysql   /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码   /* 跳过权限验证登录MySQL */ ...

  7. setTimeout 和 setInterval 的区别

    setTimeout (表达式,延时时间)setInterval(表达式,交互时间)延时时间/交互时间是以豪秒为单位的(1000ms=1s) setTimeout   在执行时,是在载入后延迟指定时间 ...

  8. .gitignore过滤个人配置

    git还是一个很好使用的版本工具.所以用eclipse做自己的小玩意儿,在多台电脑之间同步的时候我经常会使用它.. 但是有个问题..不同电脑的eclipse的个人配置稍微有那么一点点的不同..比如有几 ...

  9. 我的第一个wcf

    vs2012中新建一个解决方案 新建WCF项目RestApi 添加实体类 [DataContract] public class Employee { private Guid id; private ...

  10. 关于JSF中immediate属性的总结(二)

    The immediate attribute in JSF is commonly misunderstood. If you don't believe me, check out Stack O ...