action 代码:

      [HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create( ImageStoreModels imagestoremodels)
{
if (ModelState.IsValid)
{
if (Request.Files["ImageData"].ContentLength <= ) return View(); imagestoremodels.ID = Guid.NewGuid(); HttpPostedFileBase aFile = Request.Files["ImageData"];
int contentLength = aFile.ContentLength;
byte[] bytePic = new byte[contentLength];
aFile.InputStream.Read(bytePic, , contentLength);
imagestoremodels.ImageData = bytePic;
imagestoremodels.ImageName = aFile.FileName;
//imagestoremodels.ImageCataloge = e_ImageCataloge.;
//imagestoremodels.ImageAlt = "";
imagestoremodels.ContentType = aFile.ContentType; db.ImageStoreModels.Add(imagestoremodels);
db.SaveChanges();
return RedirectToAction("Index");
} return View(imagestoremodels); }

action 上传代码

view 代码

@using (Html.BeginForm("Create", "ImageStore", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.AntiForgeryToken() <div class="form-horizontal">
<h4>ImageStoreModels</h4>
<hr />
@Html.ValidationSummary(true) <div class="form-group">
@Html.LabelFor(model => model.ImageCataloge, new { @class = "control-label col-md-2" })
<div class="col-md-10"> @Html.DropDownListForEnum(model => model.ImageCataloge)
@Html.ValidationMessageFor(model => model.ImageCataloge)
</div>
</div> <div class="form-group">
@Html.LabelFor(model => model.ImageData, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@*@Html.TextBoxFor(model => model.ImageData, new { type = "file", style="none"})*@ <input name="ImageData" type="file" />
@Html.ValidationMessageFor(model => model.ImageData) <input name="ImageData" id="ImageData" type="file" />
</div>
</div> <div class="form-group">
@Html.LabelFor(model => model.ImageAlt, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.ImageAlt)
@Html.ValidationMessageFor(model => model.ImageAlt)
</div>
</div> <div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
}

View 代码

提交图片, 上传的时候,总是报: 输入的不是有效的 Base-64 字符串    的错误。

后来,在网上才找到答案:

http://stackoverflow.com/questions/3294023/input-file-autobind-to-byte-aray-in-asp-net-mvc

vs2013 上传碰到的问题:“输入的不是有效的 Base-64 字符串 ”的更多相关文章

  1. THINKPHP源码学习--------文件上传类

    TP图片上传类的理解 在做自己项目上传图片的时候一直都有用到TP的上传图片类,所以要进入源码探索一下. 文件目录:./THinkPHP/Library/Think/Upload.class.php n ...

  2. 亚马逊S3下载上传文件

    引用网址: http://www.jxtobo.com/27697.html 下载 CloudBerry Explorer http://www.cloudberrylab.com/download- ...

  3. 分离与继承的思想实现图片上传后的预览功能:ImageUploadView

    本文要介绍的是网页中常见的图片上传后直接在页面生成小图预览的实现思路,考虑到该功能有一定的适用性,于是把相关的逻辑封装成了一个ImageUploadView组件,实际使用效果可查看下一段的git效果图 ...

  4. 利用SecureCRT上传、下载文件(使用sz与rz命令),超实用!

    利用SecureCRT上传.下载文件(使用sz与rz命令),超实用! 文章来源:http://blog.csdn.net/dongqinliuzi/article/details/39623169 借 ...

  5. Yii2.0 多文件上传

    --------------------------------------------------------------------------------------------------- ...

  6. Shell上传文件到ftp

    写一个shell文件,将给定的文件上传到指定的ftp. 代码如下: #!/bin/bash #用来将文件上传到ftp,输入参数:文件名(包括路径).ftp的IP.ftp的端口.用户名.密码 ip=$ ...

  7. 【iOS】文件上传小记

    iOS由该系统提供API可以实现可以实现文件的上传和下载,有两种方法来. NSURLConnection与NSURLSession. 当中NSURLConnection是使用非常久的的一种方式.NSU ...

  8. CentOS7中利用Xshell6向虚拟机本地上传文件

    环境交代 Linux系统:CentOS7, Xshell版本:6 操作步骤 下面我们以一个文件上传来演示用法 第一步 建立连接,这里不多说 在Xshell中点击如下图标,或者直接按 Alt+Ctrl+ ...

  9. (转)Spring文件上传,包括一次选中多个文件

    背景: http://www.cnblogs.com/lixuwu/p/8495275.html已经实现了单文件的上传和下载,多文件的上传是另一种情景,这里记录下来 实现过程 先说前台. 运行以后就是 ...

随机推荐

  1. nginx---reference

    nginx (pronounced "engine x") is a free open source web server written by Igor Sysoev, a R ...

  2. 手动开启tomacat服务器

    四.配置Tomcat环境变量 1,新建变量名(关键,你的tomacat安装目录):CATALINA_BASE,变量值:E:\apache-tomcat-6.0.37 2,新建变量名(关键,你的toma ...

  3. C语言内存管理

    作用域: 1.代码块儿作用域: 注意的是:这里面{}就代表一个代码块儿,里面的东西是独立的,不可被其他地方访问的. 2.函数作用域 3.文件作用域 先提一下 在当前有一个文件,main.c 还有一个文 ...

  4. Flume简介与使用(二)——Thrift Source采集数据

    Flume简介与使用(二)——Thrift Source采集数据 继上一篇安装Flume后,本篇将介绍如何使用Thrift Source采集数据. Thrift是Google开发的用于跨语言RPC通信 ...

  5. HTTP层 —— 控制器

    1.简介 将所有的请求处理逻辑都放在单个 routes.php 中显然是不合理的,你也许还希望使用控制器类组织管理这些行为.控制器可以将相关的 HTTP 请求封装到一个类中进行处理.通常控制器存放在 ...

  6. C#学习笔记4:关键词大小写、复合格式化等

    1.取消选择的单选按钮值      RadioButton1.Checked=RadioButton2.Checked = false;//RadioButton1.Text = RadioButto ...

  7. Android 使用BaseAdapter 插入不同类型数据

    在使用过程有时要在listview中插入不同类型的数据,比如说position=0的位置插入,广告,其它列表显示数据的情况. 一定要重写两种方法 @Override public int getIte ...

  8. angularjs开发总结

    使用AngularJS有差不多一年时间了,前前后后也用了不少库和指令,整理了一下,分成四大类列出.有demo地址的,就直接连接到demo地址,其它的直接链到github托管库中. 图片视频类 angu ...

  9. java多线程总结六:经典生产者消费者问题实现

    这是个线程同步的经典例子,源代码如下: <span style="font-size:16px;">package demo.thread; /** *经典生产者与消费 ...

  10. 12天学好C语言——记录我的C语言学习之路(Day 7)

    12天学好C语言--记录我的C语言学习之路 Day 7: 昨天进行了一天的数组学习,今天大家可以先写几个昨天的程序热热身,回顾回顾,然后今天第一个新程序也是关于数组的,比较难,准备好就开始啦! //输 ...