<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. abp(net core)+easyui+efcore实现仓储管理系统——入库管理之十(四十六)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  2. Spring boot 自定义banner

    Spring Boot启动的时候会在命令行生成一个banner,其实这个banner是可以自己修改的,本文将会将会讲解如何修改这个banner. 首先我们需要将banner保存到一个文件中,网上有很多 ...

  3. 【React踩坑记六】create-react-app创建的react项目通过iP地址访问(实现局域网内访问)

    同项目组的小伙伴想用自己的电脑访问我电脑上开发阶段的create-react-app创建的react项目. 试过了了各种内网穿透工具ngrok以及localtunnel等. 奈何打开效率实在太过于龟速 ...

  4. 贪心--HDU 2021 发工资咯

    Description 作为杭电的老师,最盼望的日子就是每月的8号了,因为这一天是发工资的日子,养家糊口就靠它了,呵呵,但是对于学校财务处的工作人员来说,这一天则是很忙碌的一天,财务处的小胡老师最近就 ...

  5. 图论--BFS总结

    1.关于BFS的Key_word: ①hash或状态压缩记录状态  ②状态剪枝 ③反向BFS ④双向BFS ⑤特殊初始化VIS数组 ⑥动态图的搜索 ⑦优先队列优化搜索 ⑧数位搜索 下面是一一讲解: 1 ...

  6. 初次认识Ngnix

    这几天写那个HTTPD,最后觉得学到的好像很少,而且就算最后运行成功了好像也没有什么.所以想学习一些生活中真正在运用着的web服务器, 上网查询了些资料了解到apache, lighttpd, ngi ...

  7. 使用Jexus 容器化您的 Blazor 应用程序

    在本文中,我们将介绍如何将 Blazor 应用程序放入Jexus 容器以进行开发和部署.我们将使用 .NET Core  CLI,因此无论平台如何,使用的命令都将是相同的. Blazor 托管模型 B ...

  8. ubuntu 下修改MySQL 的root用户密码

    环境:Ubuntu 16.04  :  Mysql 5.7问题:mysql root登录密码 忘记了..忘记了..忘..了 1.登录MySQL $ mysql -u root -p 输入密码,如果登录 ...

  9. Linux中的程序和进程,PID和PPID

    环境:Vmware Workstation:CentOS-6.4-x86_64 程序和进程: 1.程序:程序是静止的,程序就是磁盘上的一个文件. 2.进程:进程是一个正在执行的程序的实例. 3.进程是 ...

  10. Spring官网阅读(二)(依赖注入及方法注入)

    上篇文章我们学习了官网中的1.2,1.3两小节,主要是涉及了容器,以及Spring实例化对象的一些知识.这篇文章我们继续学习Spring官网,主要是针对1.4小节,主要涉及到Spring的依赖注入.虽 ...