前台页面提交文件

文件操作

上传文件

//上传文件

function upFile() {

var file = document.getElementById("UpFile").files[0];

if (!file) {

alert("请选择文件!");

return;

}

var size = file.size / 1024 / 1024;

if (size > 50) {

alert("图片文件不能大于50M");

return;

}

$("#upFileForm").ajaxSubmit({

url: "/File/UploadFile",

type: "post",

dataType: "json",

success: function (data) {

if (data == "" || data == "0") {

alert("上传失败");

}

if (data == "2") {

alert("不支持上传该文件");

} else {

alert(JSON.stringify(data));

}

},

error: function (aa) {

alert(aa);

}

});

}

后台接收和上传

[HttpPost]

public JsonResult UploadFile()

{

HttpRequest request = System.Web.HttpContext.Current.Request;

HttpFileCollection FileCollect = request.Files;

string path = "";//文件的完整路径

//文件保存目录路径

string imgPathName = DateTime.Now.ToString("yyyyMMdd");//以日期为文件存放的上层文件夹名

string savePath = "/upload/file/" + imgPathName + "/";//文件存放的完整路径

//如果文件路径不存在则创建文件夹

if (!Directory.Exists(Server.MapPath(savePath)))

{

Directory.CreateDirectory(Server.MapPath(savePath));

}

//定义允许上传的文件扩展名

Hashtable extTable = new Hashtable();

extTable.Add("file", "doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2");

if (FileCollect.Count > 0)//如果集合的数量大于0,多文件上传情况

{

foreach (string str in FileCollect)

{

HttpPostedFile imgFile = FileCollect[str];//用key获取单个文件对象HttpPostedFile

string fileName = imgFile.FileName;//获取文件名

string fileExt = Path.GetExtension(fileName).ToLower();//获取文件后缀名

//判断文件类型是否正确

if (Array.IndexOf(((string)extTable["file"]).Split(','), fileExt.Substring(1).ToLower()) == -1)

{

//文件类型不正确

return Json("2");

}

string imgName = DateTime.Now.ToString("yyyyMMddhhmmss");//文件别名

string imgPath = savePath + imgName + "-" + imgFile.FileName;//构造文件保存路径

string AbsolutePath = Server.MapPath(imgPath);

imgFile.SaveAs(AbsolutePath);//将上传的东西保存

path = imgPath;//获得文件完整路径并返回到前台页面

}

return Json(path);

}

else

{

//上传失败

return Json("0");

}

}

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

三层架构中ajax,基于mvc三层架构和ajax技术实现最简单的文件上传相关推荐

  1. 基于mvc三层架构和ajax技术实现最简单的文件上传

    <转载> 前台页面提交文件 <!DOCTYPE html> <html> <head> <meta name="viewport&quo ...

  2. 基于Metronic的Bootstrap开发框架经验总结(5)--Bootstrap文件上传插件File Input的使用...

    Bootstrap文件上传插件File Input是一个不错的文件上传控件,但是搜索使用到的案例不多,使用的时候,也是一步一个脚印一样摸着石头过河,这个控件在界面呈现上,叫我之前使用过的Uploadi ...

  3. 简述php中文件上传过程,简单php文件上传详细说明

    关于文件上传我们讲了很多,这只是一款最基本的简单的文件上传功能,同时本教程也介绍了关于上传的原理以及各种函数的使用与file的参数说明,以及php.ihi设置上传文件大小配置等. 1  如果实现小文件 ...

  4. ASP.NET MVC实现简单的文件上传与下载

    使用ASP.NET MVC实现简单的文件上传与下载. 1.上传文件HTML <form action='@Url.Action("Upload", "File&qu ...

  5. 【基于SSH框架的个人博客系统06】头像文件上传与前后端分页机制

    注意:本项目为博主初学Web开发时所写,所使用的方法都比较笨,不符合主流开发方法.例如,包管理应该使用Maven进行管理而不是手动导入,对前端后端代码的架构也并不是很清晰.大家学习思想即可,可以不用浪 ...

  6. (转)基于Metronic的Bootstrap开发框架经验总结(5)--Bootstrap文件上传插件File Input的使用...

    http://www.cnblogs.com/wuhuacong/p/4774396.html Bootstrap文件上传插件File Input是一个不错的文件上传控件,但是搜索使用到的案例不多,使 ...

  7. vueform表单文件上传_峰哥说技术系列-8.Spring Boot文件上传(Form表单和Ajax方式)

    今日份主题 Spring Boot文件上传(Form表单和Ajax方式) 在Spring Boot中,和文件上传的主要和MultipartResolver接口有关,他有两个实现类 StandardSe ...

  8. 基于腾讯COS对象存储SDK使用Python编写的文件上传工具第二版

    更多技术文章请访问我的个人博客http://www.rain1024.com NR-TCloud 1.1,更新于2017-02-08 更新说明: 第一版上传时需要将upload.pyc复制到要上传对象 ...

  9. VS2010中使用NeatUpload实现简单的文件上传功能

    neatupload 一个免费的asp.net文件上传组件 项目地址 http://neatupload.codeplex.com/ 首先,从项目网站下载最新版(目前使用的是1.3.26) 在VS20 ...

最新文章

  1. Qt编写网络调试助手(TCP客户端+TCP服务端+UDP服务端)终极版开源
  2. ASP.NET Core [1]:Hosting(笔记)
  3. 一文带你学会国产加密算法SM4的vue实现方案
  4. pythonweb开发-pythonWeb开发
  5. Java交换两个Integer-一道无聊的题的思考
  6. java第七章jdbc课后简答题_javaEE简答题答案
  7. 分布式实时分析数据库citus数据插入性能优化
  8. Android 自动判断是电话,网址,EMAIL方法之Linkify
  9. java算法知识点_Java知识点梳理——数据结构与算法
  10. kubernetes相关命令
  11. android rxbus工具类,RxBus的工具类
  12. 有截图功能的android播放器,Android视频播放器VPlayer发新版本 增加截图功能
  13. 电脑开机密码忘记了怎么解除
  14. FlashFXP,flashfxp怎么连接服务器
  15. 算法——最短路径应用
  16. java word标签替换_JAVA实现替换WORD模板中的文字和图片
  17. Synthetic QA Corpora Generation with Roundtrip Consistency
  18. 流程银行柜面业务系统规划
  19. 超实用, 程序员,提升英文阅读能力
  20. java高级——认识网络

热门文章

  1. 【牛腩新闻发布系统】系统发布06
  2. 让我们一起认识一下Nodejs
  3. 正向最大匹配 和逆向最大匹配对比比较
  4. Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)
  5. Python标准库——collections模块的Counter类
  6. LeetCode简单题之旋转字符串
  7. 计图(Jittor) 1.1版本:新增骨干网络、JIT功能升级、支持多卡训练
  8. YOLOV4各个创新功能模块技术分析(三)
  9. 2021年大数据Spark(二十五):SparkSQL的RDD、DF、DS相关操作
  10. 2021年大数据Spark(六):环境搭建集群模式 Standalone