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. HeaderTemplate

    前台代码: <asp:Repeater ID="rptList" runat="server" onitemdatabound="doSomet ...

  2. Linux上安装Redmine

    安装基本的软件环境 # yum install zip unzip libyaml-devel zlib-devel curl-devel openssl-devel httpd-devel apr- ...

  3. Linux修改 DNS

    前不久服务器上遇到一些问题,需要修改服务器的dns配置,写下来记下,笔者使用的说centos 6.5. DNS的配置文件在/etc/resolv.conf,但一般情况下修改后重启服务 service ...

  4. Spring中bean的scope

    Spring容器中的bean具备不同的scope,最开始只有singleton和prototype,但是在2.0之后,又引入了三种类型:request.session和global session,不 ...

  5. 解决闪光灯代码在Nexus5上面打不开的问题

    参考:http://blog.csdn.net/cy524563/article/details/41545387 关键在于: int textureId = 0;whyCamera.setPrevi ...

  6. PM2 管理nodejs项目

    pm2 是一个带有负载均衡功能的Node应用的进程管理器. 当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的. 它非常适合IaaS结构,但不要把它 ...

  7. 聊一聊 AngularJS 服务

    什么是服务? 在 AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用. AngularJS 内建了30 多个服务. 为什么使用服务? 在很多服务中,比如 $loca ...

  8. oracle怎么查看表字段的类型

    select column_name,data_type,DATA_LENGTH From all_tab_columns where table_name=upper('表名') AND owner ...

  9. scala学习笔记:集合

    scala> 1 to 10 res9: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5, 6, 7, 8, 9 ...

  10. 轮子来袭 vJine.Core Orm 之 01_快速体验

    vJine.Core 是.Net环境下C#类库,在其包含的众多功能中ORM功能尤为突出,现简介如下. 一.支持的数据库: SQLite, MySQL, MS SQL, Oracle. 二.使用方法: ...