c# http文件上传
/// <summary>
/// 上传文件的api
/// </summary>
[HttpPost]
public string UploadFile(op_client_billfile_info model)
{
string path = AppDomain.CurrentDomain.BaseDirectory + "BillFile";
path += model.path;
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
model.filename = ExistFile(path, model.filename.Replace(" ", "")); MemoryStream ms = new MemoryStream(model.by);
FileStream fs = new FileStream(path + "\\" + model.filename, FileMode.OpenOrCreate);
ms.WriteTo(fs);
ms.Close();
fs.Close();
return model.filename;
}
/// <summary>
/// 文件名重复加(1)
/// </summary>
[NonAction]
private string ExistFile(string path, string filename)
{
int count = ;
//在重复名称后加(序号)
while (File.Exists(path + "\\" + filename))
{
if (filename.Contains(")."))
{
int start = filename.LastIndexOf("(");
int end = filename.LastIndexOf(").") - filename.LastIndexOf("(") + ;
filename = filename.Replace(filename.Substring(start, end), string.Format("({0}).", count));
}
else
{
filename = filename.Replace(".", string.Format("({0}).", count));
}
count++;
}
return filename;
}
上传文件类
/// <summary>
/// 账单文件信息的id
/// </summary>
public int bid { get; set; }
/// <summary>
/// 文件名
/// </summary>
public string filename { get; set; }
/// <summary>
/// 放在服务器的路径
/// </summary>
public string path { get; set; }
/// <summary>
/// 文件
/// </summary>
public byte[] by { get; set; }
修改上传文件大小限制,不然会报错。第一个文件的单位是 kb 也就是100M;第二个文件的单位是 byte 也是100M。
<configuration>
<system.web>
<httpRuntime maxRequestLength="" executionTimeout="" enable="true" />
</system.web>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="" />
</requestFiltering>
</security>
</system.webServer>
</configuration>
下载文件
/// <summary>
/// 保存文件
/// url 文件地址(iis);path 保存地址;fileName 保存文件名
/// </summary>
private void DownloadFile(string url, string path, string fileName)
{
Stream sm = WebRequest.Create(url).GetResponse().GetResponseStream();
FileStream fs = new FileStream(path + "\\" + fileName, FileMode.OpenOrCreate);
sm.CopyTo(fs);
sm.Close();
fs.Close();
}
post请求封装地址:https://www.cnblogs.com/shuaimeng/p/9871582.html
c# http文件上传的更多相关文章
- jquery.uploadify文件上传组件
1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...
- 11、Struts2 的文件上传和下载
文件上传 表单准备 要想使用 HTML 表单上传一个或多个文件 须把 HTML 表单的 enctype 属性设置为 multipart/form-data 须把 HTML 表单的method 属性设置 ...
- Java FtpClient 实现文件上传服务
一.Ubuntu 安装 Vsftpd 服务 1.安装 sudo apt-get install vsftpd 2.添加用户(uftp) sudo useradd -d /home/uftp -s /b ...
- 小兔Java教程 - 三分钟学会Java文件上传
今天群里正好有人问起了Java文件上传的事情,本来这是Java里面的知识点,而我目前最主要的精力还是放在了JS的部分.不过反正也不麻烦,我就专门开一贴来聊聊Java文件上传的基本实现方法吧. 话不多说 ...
- ,net core mvc 文件上传
工作用到文件上传的功能,在这个分享下 ~~ Controller: public class PictureController : Controller { private IHostingEnvi ...
- Web开发安全之文件上传安全
很长一段时间像我这种菜鸡搞一个网站第一时间反应就是找上传,找上传.借此机会把文件上传的安全问题总结一下. 首先看一下DVWA给出的Impossible级别的完整代码: <?php if( iss ...
- AutoIt实现Webdriver自动化测试文件上传
在运用WebDriver进行自动化测试时,由于WebDriver自身的限制,对于上传文件时Windows弹出的文件选择窗口无法控制,通过在网上查找资料锁定使用AutoIt来控制文件上传窗口. Auto ...
- Struts的文件上传下载
Struts的文件上传下载 1.文件上传 Struts2的文件上传也是使用fileUpload的组件,这个组默认是集合在框架里面的.且是使用拦截器:<interceptor name=" ...
- .JavaWeb文件上传和FileUpload组件使用
.JavaWeb文件上传 1.自定义上传 文件上传时的表单设计要符合文件提交的方式: 1.提交方式:post 2.表单中有文件上传的表单项:<input type="file" ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(32)-swfupload多文件上传[附源码]
系列目录 文件上传这东西说到底有时候很痛,原来的asp.net服务器控件提供了很简单的上传,但是有回传,还没有进度条提示.这次我们演示利用swfupload多文件上传,项目上文件上传是比不可少的,大家 ...
随机推荐
- pod package 生成 Framework
pod package 生成 Framework pod package 是 cocoapods 的一个插件,如果没有的话使用以下命令安装: sudo gem install cocoapods-pa ...
- jQuery 的on()方法
jQuery 的on()方法 一.总结 一句话总结: 1.普通添加事件:$("a").on("click", function () {执行的代码}) 2.未创 ...
- .NET笔记题库(一)
1 (1)面向对象的语言具有__继承性_性._封装性_性._多态性 性. (2)能用foreach遍历访问的对象需要实现 _ IEnumerable 接口或声明_ GetEnumerator 方法的类 ...
- win2008 r2下配置IIS7(ASP.net运行环境)
一.常规配置: 1.先要设置应用程序池(ApplicationPool)为Classic.NETAppPool. 2.选中左侧的“应用程序池”,选中“Classic.NETAppPool”,单击右侧的 ...
- sqlmap注入工具----一次简单的注入(实战)
最近在学习网络安全,挖洞避免不了要使用许多工具,使用著名注入工具sqlmap的时候,对于英语不怎么好的我就比较难受了,本来就不会使用,加之又是英语的,简直难受.上网找了好多详细教程,但是命令实在是太多 ...
- CVR并发写入测试
CVR并发写入测试 测试环境: 主机:DELL Optiplex 790 系统:Windows7SP1 64bit CPU:i5-2500 3.3GB 4核 内存:8GB 硬盘:希捷 7200rpm ...
- ORA-03114: not connected to ORACLE
PlSql Developer出现这个问题的时候,只要重新连接一些数据库就行了!
- Hadoop常用命令介绍
本文主要介绍 Hadoop 常用的命令. test命令 用于检测文件或目录是否存在,判断文件或目录大小. -test -[defsz] <path> : Answer various qu ...
- bash小结
context:CentOS 什么是shell? shell就是与计算机交互的接口. linux支持的shell [root@node1 ~]# cat /etc/shells /bin/sh #被 ...
- 在图中寻找最短路径-----深度优先算法C++实现
求从图中的任意一点(起点)到另一点(终点)的最短路径,最短距离: 图中有数字的点表示为图中的不同海拔的高地,不能通过:没有数字的点表示海拔为0,为平地可以通过: 这个是典型的求图中两点的最短路径:本例 ...