<form method="post" id="form1" runat="server" enctype="multipart/form-data" action="@Url.Action("/Upload")" >
<ul>
<li><label> 版本号:</label><input type="text" id="txtVersion" name="nVersion" /></li>
<li><label> 说明:</label><input type="text" id="txtRemark" name="nRemark" /></li>
<li> <label> 文件:</label> <input type="file" id="vfile" name="upload" /> </li>
<li><label></label> <input type="submit" id="submit" value="提交" /></li>
</ul>
</form>

<script type="text/javascript">
$(function () {
var tips = '@ViewBag.Msg';
if (!!tips) {
alert(tips);
}
})
</script>

#region 上传APK
[HttpGet]
public ActionResult Upload()
{
return View();
}

[HttpPost]
public ActionResult Upload(string id)
{
if (Request.ContentLength > 0 && Request.Files.Count > 0)
{
try
{
StringBuilder sb = new StringBuilder();
string version = Request.Form["nVersion"].ToString();
string remark = Request.Form["nRemark"].ToString();
if (string.IsNullOrEmpty(version))
{
sb.Append("请填写版本号!");
}
else
{
bool isVer = true;
Version v = new Version();
try
{
v = new Version(version);
}
catch
{
sb.Append("请输入正确的版本号!");
isVer = false;
}
if (isVer)
{
HttpPostedFileBase fb = Request.Files[0];
if (fb.ContentLength > 0)
{
string fileName = fb.FileName;
int extIndex = fileName.LastIndexOf(".");
string extension = fileName.Substring(extIndex).ToLower();
if (extension == ".gif")
{
if (!Directory.Exists(Server.MapPath("~/File")))
{
Directory.CreateDirectory(Server.MapPath("~/File"));
}

string fileSavePath = Server.MapPath("~/File") + "\\" + fileName;
string filenewname = fileName;
if (System.IO.File.Exists(fileSavePath))
{
filenewname = fileName.Substring(0, extIndex) + "-" + DateTime.Now.ToString("yyyyMMddHHmmss") + extension;
fileSavePath = Server.MapPath("~/File") + "\\" + filenewname;
}

fb.SaveAs(fileSavePath);
string newUrl = ConfigurationManager.AppSettings["GetApkPath"] + "/File/" + filenewname;

if (sysversion.AddVersion(v.ToString(), newUrl, remark))
{
sb.Append("上传成功!");
}
}
else
{
sb.Append("请上传gif格式的文件!");
}
}
else
{
sb.Append("请上传gif格式的文件!");
}
}
}
ViewBag.Msg = buffer.ToString();
}
catch (Exception e)
{
throw e;
}
}
return View("Upload");
}
#endregion

Form action 方法上传文件的更多相关文章

  1. 巨蟒python全栈开发django11:ajax&&form表单上传文件contentType

    回顾: 什么是异步? 可以开出一个线程,我发出请求,不用等待返回,可以做其他事情. 什么是同步? 同步就是,我发送出了一个请求,需要等待返回给我信息,我才可以操作其他事情. 局部刷新是什么? 通过jq ...

  2. JsonResponse类的使用、form表单上传文件补充、CBV和FBV、HTML的模板语法之传值与过滤器

    昨日内容回顾 Django请求生命周期 # 1.浏览器发起请求 到达Django的socket服务端(web服务网关接口) 01 wsgiref 02 uwsgi + nginx 03 WSGI协议 ...

  3. 使用PUT方法上传文件无法工作原因分析

    现象 在Spring Framework中,使用HTTP的PUT方法上传文件时,在服务器端发现Multipart参数为空. 原因 Spring中的StandardServletMultipartRes ...

  4. django 基于form表单上传文件和基于ajax上传文件

    一.基于form表单上传文件 1.html里是有一个input type="file" 和 ‘submit’的标签 2.vies.py def fileupload(request ...

  5. vue form表单上传文件

    <script src="https://cdn.staticfile.org/vue-resource/1.5.1/vue-resource.min.js">< ...

  6. 使用form表单上传文件

    在使用form表单上传文件时候,input[type='file']是必然会用的,其中有一些小坑需要避免. 1.form的 enctype="multipart/form-data" ...

  7. 利用jquery.form实现异步上传文件

    实现原理 目前需要在一个页面实现多个地方调用上传控件上传文件,并且必须是异步上传.思考半天,想到通过创建动态表单包裹上传文件域,利用jquery.form实现异步提交表单,从而达到异步上传的目的,在上 ...

  8. form表单上传文件使用multipart请求处理

    在开发Web应用程序时比较常见的功能之一,就是允许用户利用multipart请求将本地文件上传到服务器,而这正是Grails的坚固基石——spring MVC其中的一个优势.Spring通过对Serv ...

  9. day059-60 ajax初识 登录认证练习 form装饰器, form和ajax上传文件 contentType

    一.ajax 的特点 1.异步交互:客户端发出一个请求后,需要等待服务器响应结束后, 才能发出第二个请求 2.局部刷新:给用户的感受是在不知不觉中完成请求和响应过程. 二.ajax 模板示例 ($.a ...

随机推荐

  1. 为何 UNIX 时间 0, 有时显示是1970年1月1日,有时显示是1969年12月31日

    by Rachael Arnold http://www.rachaelarnold.com/dev/archive/why-is-date-returning-wrong Demystifying ...

  2. 【阅读笔记】Ranking Relevance in Yahoo Search (四 / 完结篇)—— recency-sensitive ranking

    7. RECENCY-SENSITIVE RANKING 作用: 为recency-sensitive的query提高排序质量: 对于这类query,用户不仅要相关的还需要最新的信息: 方法:rece ...

  3. Vim Install-Could not get lock......

    在Ubuntu下安装Vim编辑器时,出现错误: 可能原因: 上次安装或更新没有正常完成,导致资源被锁. 解决方案: 删除异常资源,重新下载: 注意 删除异常资源时,一定要切换到root用户,否则操作无 ...

  4. 难道你现在还不知道:C/S和B/S

    随着网络技术的不断发展,各种各样的网络应用程序大爆发.运用最多的架构是基于浏览器+服务器的B/S结构,另一种是基于的 C/S结构. 概述: BS = Browser / Server =浏览器+服务器 ...

  5. 编程语言50年来的变化,我用50种编程语言告诉你“Hello world”怎么写!

    当我们学习一门新的语言时,"Hello, World!"通常是我们所写的第一个程序. 因此,所有程序员在职业生涯中至少完成了"Hello, World!"程序员 ...

  6. 补题Codeforces 1102E. Monotonic Renumeration

    这个题还是不太懂,下面附上的是大佬的题解(https://zhanghuimeng.github.io/post/codeforces-1102e-monotonic-renumeration/) E ...

  7. 数学--数论--HDU - 6395 Let us define a sequence as below 分段矩阵快速幂

    Your job is simple, for each task, you should output Fn module 109+7. Input The first line has only ...

  8. 基于UDP的客户端和服务器端的代码设计

    实验平台 linux 实验内容 编写UDP服务器和客户端程序,客户端发送消息,服务器接收消息,并打印客户端的IP地址和端口号. 实验原理 UDP是无需连接的通信,其主要实现过程如下: 同样,我们可以按 ...

  9. git的下载与安装

    Git的下载地址:https://git-scm.com/download/win 第一步:根据自己电脑的位数下载Git 第二步:下载安装包,放到指定的文件夹 第三步:更换路径安装Git(也可以放在C ...

  10. shell字符串索引

    shell中的字符串索引一会从0开始,一会从1开始,见例子: #!/bin/bash string="hello world" length=${#string} echo &qu ...