<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. GithubAction-Deploy

    GithubAction-Deploy githubhexoaction 使用 github action 自动化部署 创建GitHub repository 存放源文件 在repo设置界面里添加Se ...

  2. mysql硬件优化

    导致宕机的原因: 1.      运行环境: 35%,运行环境可以看做是支持数据库服务器运行的系统和资源集合,包括操作系统,硬盘以及网络 2.      性能:35% 3.      复制 20% 4 ...

  3. spring boot 集成mybatis使用logback打印并保存日志信息

    spring boot 打印执行的sql语句 最近在学习spring boot 整合了Mybatis和druid之后总感觉少点什么东西,看了下在别的项目上用的框架,发现自己整合的东西不打印sql语句, ...

  4. JVM调优方法笔记

    1.性能工具介绍 jvisualvm jmap jstat jstack/threaddump jprofiler jmeter 2.性能调优4步骤 重现问题 定位问题 模拟问题 解决问题 http: ...

  5. Hadoop学习笔记(二)——插件安装和使用(Hadoop Eclipse)

    1. Hadoop Eclipse @ 配置 需注意 在写Hadoop的根目录时,路径不能有空格 http://blog.sina.com.cn/s/blog_56d8111101014mlg.htm ...

  6. C++ 快读快写

    inline int read() { int s=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch=='-') f=-1; c ...

  7. POJ 2188 Cow Laundry

    Cow Laundry Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 1376 Accepted: 886 Descriptio ...

  8. 图论--网络流--最大流 HDU 2883 kebab(离散化)

    Problem Description Almost everyone likes kebabs nowadays (Here a kebab means pieces of meat grilled ...

  9. 图论--二分图最佳完美匹配(KM模板)

    #include <iostream> #include <cstring> #include <cstdio> using namespace std; cons ...

  10. 题目分享T

    题意:蛐蛐国里现在共有n只蚯蚓(n为正整数).每只蚯蚓拥有长度,我们设第i只蚯蚓的长度为a_i(i=1,2,...,n),并保证所有的长度都是非负整数(即:可 能存在长度为0的蚯蚓).每一秒,神刀手会 ...