上传的时候还是遇到一些问题的,在文章开头罗列一下,希望帮到跟我遇到同样问题的人

问题一:GET 请求与POST请求

起初我使用的是GET 请求,发现不行,后改为了POST,具体原因尚不明确,不过一般向服务器发送数据还是用POST吧,后来发现网上有使用GET方式上传文件的,但是貌似不多。

问题二:FROM 表单中没有加 enctype="multipart/form-data" 属性

上网查了下资料 :enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。解释如下表:

描述
application/x-www-form-urlencoded 在发送前编码所有字符(默认)
multipart/form-data

不对字符编码。

在使用包含文件上传控件的表单时,必须使用该值。

text/plain 空格转换为 "+" 加号,但不对特殊字符编码。

问题三:input 表单控件没有添加  name 属性

没添加name属性,后台就不认识了?这个没花时间去查,暂时放一下。

下面直接贴代码了,首先是前端代码部分

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><script type="text/javascript" src="jquery1.9.1.js" ></script></head><body><form  enctype="multipart/form-data" action="http://localhost:42031/api/home/AddTableByDT" method="post"><input name="file" type="file" /><input type="submit" /></form></body>
</html>

前端代码没啥好说的,下面是后端代码

        [HttpPost]public void AddTableByDapper(){try{System.Web.HttpFileCollection file = System.Web.HttpContext.Current.Request.Files;if (file.Count > 0){//文件名  string name = file[0].FileName;//保存文件  string path = HttpContext.Current.Server.MapPath("~/UpLoad/") + name;file[0].SaveAs(path);}}catch (Exception ex){throw ex;}}

对于后端代码,我有话要说,在调试过程中,我们可以看到文件中的一些属性

ContentLength :是该文件的大小(以字节计)

ContentType : 文件类型

FileName :文件名

如果你打算本地进行调试,那么先解决跨域问题,跨域问题网上的办法很多,我就不在累述了。

一般上传文件后,我们要对文件的类型和大小进行限制,并对该文件进行重命名,有了这三个属性后,都可以完成了,本来打算封装一个方法的,可是我实在太懒了,就先这样吧。敲代码眼睛这么酸涩,看看图休息一下吧,以后有机会再来上传demo

WebAPI+Form表单上传文件相关推荐

  1. form表单上传文件_SpringBoot中如何使用SpringMVC上传文件?

    今天我们要说的这个话题很简单,不要问为啥,因为SpringBoot,哈哈.现在SpringBoot可以说人人都会用了,它的好处是显而易见的,大大的简化了配置,一起来看看吧. 我们分以下3种情况来谈这个 ...

  2. form 表单上传文件及传输数据的编码格式

    form中的 action  控制请求往什么地方提交 method  请求方式 如果不写默认是get 请求 如果想传文件 必须要把默认的urlencoded的改成enctype="multi ...

  3. php无表单上传文件,php – 如何使用没有实体类的表单上传文件

    我试图使用没有实体类的表单上传文件.到目前为止没有运气. // Controller public function uploadAction() { $request = $this->get ...

  4. 七牛云上传文件之表单上传文件

    本人愚钝,七牛云上传文件的开发说明文档看了好久才搞懂,才能完成一个实例跑起来.现在做一下总结. 1.注册七牛,新建一个bucket,并获得ak,sk这个不用说了.不涉及到程序编码,重点讲一下编码的流程 ...

  5. php文件上传并保存路径到数据库,thinkphp表单上传文件并将文件路径保存到数据库中?...

    上传单个文件,此文以上传图片为例,上传效果如图所示 创建数据库upload_img,用于保存上传路径 CREATE TABLE `seminar_upload_img` (  `id` int(11) ...

  6. android multipartentity 怎么上传参数,android-通过MultipartEntityBuilder通过HTTP表单上传文件,并显示进度b...

    android-通过MultipartEntityBuilder通过HTTP表单上传文件,并显示进度b 短版本-.jar已弃用,其升级版本java.lang.NoClassDefFoundError在 ...

  7. PHP curl模拟表单上传文件 微信公众号素材管理接口crul文件上传核心源码

    PHP curl模拟表单上传文件  微信公众号素材管理接口crul文件上传核心源码 /*** curl 上传文件* @param $url* @param $filePath* @param stri ...

  8. javaweb开发之处理表单上传文件和文件下载

    2019独角兽企业重金招聘Python工程师标准>>> 一.基于表单的上传文件 1. enctype属性 当表单需要上传文件时,需指定表单 enctype 的值为 multipart ...

  9. php处理表单上传文件

    使用表单上传文件的时候,表单的提交方式必须是post提交方式,上传文件的input控件type属性值应为file,最重要的是form标签需要加一个enctype="multipart/for ...

最新文章

  1. jsp的session介绍 (转)
  2. 讯飞智慧餐厅(安徽赛区)比赛通知
  3. java获取24小时制时间格式_java 日期格式时间24小时制
  4. 国内CVPR和图像处理领域的公司和研究机构
  5. java jms clust,Geoserver 的 JMS Cluster modules(集群数据同步)
  6. 知乎问答:一年内的前端看不懂前端框架源码怎么办?
  7. mmap函数用法及示例程序
  8. mysql5.7 gruop by报错this is incompatible with sql_mode=only_full_group_by
  9. 魅族16s安兔兔跑分揭晓:在优化中不断提高
  10. cmd命令不识别exp_GRAT2:一款功能强大的命令amp;控制(C2)工具
  11. ofdm原理_5G进行时|5G NR物理层详解:原理、模型和组件
  12. python常用函数及用法
  13. RG-IS2700G工业交换机ERPS技术解析
  14. Ember.js 初学指南
  15. 【java】web在线打开PDF文件
  16. mysql存储登录_MYSQL存储过程实现用户登录
  17. pandas task-08
  18. VG验证码识别框架2.2 免费识别验证码
  19. 是谁给我充的手机费?
  20. R7 5800H 3060 ubuntu20 配置全纪录(一)主要包括:N卡驱动、网卡驱动、virtualenv、CUDA and pytorch

热门文章

  1. 运筹学与最优化matlab编程,运筹学与最优化MATLAB编程 教学课件 ppt 作者 吴祈宗 郑志勇 第8章.ppt...
  2. NFT数字藏品系统全面解析!
  3. 【100%通过率】华为OD机试真题 JS 实现【硬件产品销售方案】【2023 Q1 | 100分】
  4. pandas DataFrame applymap()函数
  5. 关于大型语言模型的争论和局限
  6. 智能化消防装备管理系统云平台技术路线(2)
  7. 如何从零到一打造你的网络个人IP(时代赚钱利器)
  8. Python进阶之使用Scrapy实现自动登录Github的两种方法(POST,FormRequest,from_response)
  9. 按照频率将数组升序排序
  10. samba服务及vsftp服务及nfs服务简单配置