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

    xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:t ...

  2. multithread synchronization use mutex and semaphore

    #include <malloc.h> #include <pthread.h> #include <semaphore.h> struct job { /* Li ...

  3. C++之类的析构函数

    一.认识析构函数 在我的前一篇博客介绍了类的构造函数.http://www.cnblogs.com/MrListening/p/5557114.html. 这里我们来简单说说类的析构函数,它是类的一个 ...

  4. linux命令 --> pwd命令

    关于 pwd 命名前面在cd命令中已经出现过啦!!不过还是简单的说一下吧! pwd命令简单的介绍: pwd - print name of current/working directory(这... ...

  5. Visual Studio dte 获取代码方法注释

  6. Python(2.7.6) ConfigParser - 读写配置文件

    Python 标准库的 ConfigParser 模块提供一套 API 来读取和操作配置文件. 配置文件的格式 a) 配置文件中包含一个或多个 section, 每个 section 有自己的 opt ...

  7. Spark技术内幕:Stage划分及提交源码分析

    http://blog.csdn.net/anzhsoft/article/details/39859463 当触发一个RDD的action后,以count为例,调用关系如下: org.apache. ...

  8. RTTI和反射

    JAVA 运行时识别对象和类的信息,主要有两种方式:一种是传统的RTTI,它假定我们在编译时已经知道了所有的类型:另一种是"反射"机制,它允许我们在运行时发现和使用类的信息. 参考 ...

  9. DOS批处理命令-@命令

    @命令是一个禁止当前语句回显的简单命令. 语法: @[command].[command]是要屏蔽的批处理命令 例如执行包含以下内容的bat文件 echo on @echo ------- @echo ...

  10. 2013年全国各大著名的IT公司薪资待遇大揭密

    以下为转载,特此说明!--西电好网 ============================================ 1: 本人西电通院2013届毕业硕士,根据今年找工作的情况以及身边同学的汇 ...