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多文件上传,项目上文件上传是比不可少的,大家 ...
随机推荐
- 拆分项目搞成framework 实例
目前工作中遇到的问题,是讲项目三大模块拆分, 将Discover.Shop和Events的源代码拆分到独立的项目中 拆分是个麻烦事,里面相互依赖很多 ,打包编译也异常复杂,各种报错 编译Event 遇 ...
- python 度分秒转度
#必须是u类型==================u==================== by gisoracle def dmstod(dms): #arcpy.AddMessage(" ...
- mysqldump定时任务生成备份文件内容为空解决方法
1问题:写好了一个mysqldump备份脚本(如图)直接执行可以正常生成备份文件,但在用crontab运行时却生成内容为空 2原因分析:由于mysqldump存在于全局环境变量mysql的bin下面, ...
- Npoi Web 项目中(XSSFWorkbook) 导出出现无法访问已关闭的流
NPOI生产.xlsx文件件时,在使用book.Write(ms);后,会关闭流,这样导致再次使用Respons输出流的时候就出错了. 造成关闭流的主要原因有时其实是跨域,同域是没有问题的. //新建 ...
- vi下如何配置自动更新标签(tags)?
答: 在~/.vimrc中写入以下内容即可: au BufWritePost *.c,*.cpp,*.h silent! !ctags -R & 参考资料: 一键打造vim ide
- Python日志模块应用
# encoding:utf-8 import logging import time class Logs: def __init__(self): self.logger = logging.ge ...
- 【python】详解事件驱动event实现
[python]详解事件驱动event实现 所有的计算机程序都可以大致分为两类:脚本型(单次运行)和连续运行型(直到用户主动退出). 1.脚本型:脚本型的程序包括最早的批处理文件以及使用Python做 ...
- Swagger下载的zip文件无法打开,而且大小比直接下载的要大
以前写的一个rest提供的是浏览器下载zip包的功能,前端界面调用rest可以正常地下载. 今天使用Swagger来调试下载功能时,发现下载的zip包打不开,而且大小也比直接在浏览器中输入rest地址 ...
- mac Access denied for user 'root'@'localhost' (using password: YES)
1:苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务 2: Start it in safe mode 进入终端 输入: cd /usr/local/mysql ...
- 11-2 TCP/IP协议栈
TCP/IP协议栈 Transmission Control Protocol/Internet Protocol传输控制协议/因特网互联协议 TCP/IP是一个Protocol Stack,包括TC ...