Form action 方法上传文件
<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 方法上传文件的更多相关文章
- 巨蟒python全栈开发django11:ajax&&form表单上传文件contentType
回顾: 什么是异步? 可以开出一个线程,我发出请求,不用等待返回,可以做其他事情. 什么是同步? 同步就是,我发送出了一个请求,需要等待返回给我信息,我才可以操作其他事情. 局部刷新是什么? 通过jq ...
- JsonResponse类的使用、form表单上传文件补充、CBV和FBV、HTML的模板语法之传值与过滤器
昨日内容回顾 Django请求生命周期 # 1.浏览器发起请求 到达Django的socket服务端(web服务网关接口) 01 wsgiref 02 uwsgi + nginx 03 WSGI协议 ...
- 使用PUT方法上传文件无法工作原因分析
现象 在Spring Framework中,使用HTTP的PUT方法上传文件时,在服务器端发现Multipart参数为空. 原因 Spring中的StandardServletMultipartRes ...
- django 基于form表单上传文件和基于ajax上传文件
一.基于form表单上传文件 1.html里是有一个input type="file" 和 ‘submit’的标签 2.vies.py def fileupload(request ...
- vue form表单上传文件
<script src="https://cdn.staticfile.org/vue-resource/1.5.1/vue-resource.min.js">< ...
- 使用form表单上传文件
在使用form表单上传文件时候,input[type='file']是必然会用的,其中有一些小坑需要避免. 1.form的 enctype="multipart/form-data" ...
- 利用jquery.form实现异步上传文件
实现原理 目前需要在一个页面实现多个地方调用上传控件上传文件,并且必须是异步上传.思考半天,想到通过创建动态表单包裹上传文件域,利用jquery.form实现异步提交表单,从而达到异步上传的目的,在上 ...
- form表单上传文件使用multipart请求处理
在开发Web应用程序时比较常见的功能之一,就是允许用户利用multipart请求将本地文件上传到服务器,而这正是Grails的坚固基石——spring MVC其中的一个优势.Spring通过对Serv ...
- day059-60 ajax初识 登录认证练习 form装饰器, form和ajax上传文件 contentType
一.ajax 的特点 1.异步交互:客户端发出一个请求后,需要等待服务器响应结束后, 才能发出第二个请求 2.局部刷新:给用户的感受是在不知不觉中完成请求和响应过程. 二.ajax 模板示例 ($.a ...
随机推荐
- 在java 8 stream表达式中实现if/else逻辑
目录 简介 传统写法 使用filter 总结 简介 在Stream处理中,我们通常会遇到if/else的判断情况,对于这样的问题我们怎么处理呢? 还记得我们在上一篇文章lambda最佳实践中提到,la ...
- docker容器介绍
Docker容器 一.什么是Docker? Docker时Docker.Lnc公司开源的一个基于LXC技术之上搭建的Container容器引擎,源代码托管在Git ...
- java 之 enum(枚举)
推荐博客 http://blog.csdn.net/javazejian/article/details/71333103
- Linux系统应用管理:增加普通用户(密码管理等)
1. 查看当前Linux系统的版本.内核等信息 [root@oldboy ~]# cat /etc/redhat-release CentOS release 6.7 (Final) . # 系统版本 ...
- eggjs解决跨域问题
Egg.js 是什么? Egg.js 为企业级框架和应用而生,我们希望由 Egg.js 孕育出更多上层框架,帮助开发团队和开发人员降低开发和维护成本. Egg.js特性 提供基于 Egg 定制上层框架 ...
- mac OS 安装配置 Tomcat
Apache Tomcat官网 http://tomcat.apache.org/ 选择一个版本 本文以tomcat 9为例 选择Mac OS 对应的压缩包下载 把文件解压然后 在主用户里新建一个目 ...
- linux服务器(CentOS)一键安装express框架
express框架需要nodejs环境支持,没有安装node.js环境的同学可以参照下面这篇博客 linux服务器安装配置Node.js 好了,言归正传.先使用xshell或者其它软件连接我们的服务器 ...
- 最简单,最明了,看了就会的VScode和C++的配置!(Visual Studio Code)
我看了网上的大佬们配的我是在是看不懂啊?我是一个小白啊?这太难了,这阻挡不了我,想使用这很骚的IDE,于是在不断的摸索下,终于配置成功,小白们也不用慌,这次非常简单.一定可以的. 1.下载 VS Co ...
- 图论--最短路--第K短路(IDA*)(IDA Star)模板
#include <iostream> #include <cstdio> #include <cstring> #include <queue> us ...
- Android APP 性能测试之 GT 工具
一.介绍: GT(随身调)是 APP 的随身调测平台,它是直接运行在手机上的"集成调测环境"(IDTE, Integrated Debug Environment).利用 GT,仅 ...