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多文件上传,项目上文件上传是比不可少的,大家 ...
随机推荐
- 以太坊Geth通过私钥导入新地址到钱包步骤(3种方法)
一: 通过Geth客户端导入私钥: Open TextEdit Paste key into TextEdit without any extra characters or quotations S ...
- Winform中利用委托实现窗体之间的传值
点击打开按扭,打开传输值窗体 public partial class Form1 : Form { public Form1() { InitializeComponent(); } public ...
- LocalDB数据库修改排序规则,修复汉字变问号
VS中新增的轻量级数据库LocalDB,有个这个,开发人员就不必再安装庞大的SQL server了,可以方便地测试运行小型项目:既然是轻量级数据库,它抛弃了庞大的身躯,功能上当然也会受到局限,其中之一 ...
- Oracle11g安装与卸载教程
1.1,前言: 电脑太卡,鄙人穷屌丝啊,没钱买新电脑,想想周六日还要耍游戏就给电脑重做了个系统,糟糕的是电脑上的各种环境,工具都需要重新装一边,包括oracle数据库- -,依稀记得昨天装了一上午的数 ...
- 虚拟化技术实现 — QEMU-KVM
目录 文章目录 目录 前文列表 KVM QEMU QEMU-KVM QEMU-KVM 调用 KVM 内核模块启动虚拟机的流程概要 前文列表 <虚拟化技术实现 - 虚拟化技术发展编年史> K ...
- Anaconda3详细安装使用教程及问题总结
1.Anaconda是什么? 简单来说,Anaconda是Python的包管理器和环境管理器. 先来解决一个初学者都会问的问题:我已经安装了Python,那么为什么还需要Anaconda呢?原因有以下 ...
- Oracle查询序列和函数方法封装
工具方法: @Autowired private JdbcTemplate businessTpmeJdbcTemplate; @SuppressWarnings("deprecation& ...
- nginx反向代理本地 两台web负载均衡 使用ip+端口代理
环境: 本地外网ip:123.58.251.166 .配置index.html网页 [root@host---- conf.d]# cat /web/sing/index.html <h1> ...
- asp.net网站访问时不能显示页面
web => 属性 => web => servers =>create virtual directory
- SpringBoot: 10.整合mybatis(转)
需求:通过使用 SpringBoot+SpringMVC+MyBatis 整合实现一个对数据库中的 t_user 表的 CRUD 的操作 1.创建maven项目,添加项目所需依赖 <!--spr ...