c#代码文件上传和下载
public JsonResult UploadFile(DriverFileManager filem)
{
var hfc = System.Web.HttpContext.Current.Request.Files;
var filePathRoot = GetAppSetting.GetPhysicalPath + GetFileType(filem.FileType ) + "\\";
//判断是否存在目录
if (!Directory.Exists(filePathRoot))
{
Directory.CreateDirectory(filePathRoot);
}
if (hfc.Count > 0 && !string.IsNullOrEmpty(hfc[0].FileName)) {
var filename = hfc[0].FileName;
var filePath = filePathRoot + Path.GetFileName(filename);
//判断是否存在文件名
if (System.IO.File.Exists(filePath))
{
//重命名新文件
filename = Path.GetFileNameWithoutExtension(filename) + "_" + new Random().Next(0, 1000) + Path.GetExtension(filename);
}
else
{
filename = Path.GetFileName(filename);
}
filePath = filePathRoot + filename;
hfc[0].SaveAs(filePath);
filem.FilePath = filename;
filem.CreateBy = CurrentUserInfo.UserCode;
var obj = DriverFileManager.Save(filem);
return Json(new { err = "", msg = "导入成功!" }, "text/html");
}
return null;
}
/////////////////////////////////////////////////////////////////////////下载//////////////////////////////////////////////////////////////////////////////////////
using Cinway.Common;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Cinway.Controllers
{
public class FileDownsController : Controller
{
//
// GET: /FileDowns/
/// <summary>
/// 下载文件
/// </summary>
/// <returns></returns>
public ActionResult DowmFile(string filePath, string FileType)
{
string fileName=filePath;
filePath = GetAppSetting.GetPhysicalPath + FileType + "/" + filePath;
FileStream fs = new FileStream(filePath, FileMode.Open);
byte[] bytes = new byte[fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.Expires = 0;
Response.Buffer = true;
Response.Charset = "UTF-8";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
Response.ContentType = "application/octet-stream";
//解决IE中文乱码问题
bool ie = Request.Headers.Get("User-Agent").IndexOf("MSIE") > 0 || Request.Headers.Get("User-Agent").IndexOf("Trident") > 0;
Response.AddHeader("Content-Disposition", "attachment;filename=" + (ie ? Server.UrlEncode(fileName) : fileName));
Response.AddHeader("Content-Transfer-Encoding", "binary");
Response.AddHeader("Content-Length", bytes.Length.ToString());
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
return new EmptyResult();
}
//
// GET: /FileDowns/
/// <summary>
/// 下载文件
/// </summary>
/// <returns></returns>
public ActionResult DowmFileReceipt(string filePath, string FileType)
{
string fileName = filePath;
filePath = GetAppSetting.GetPhysicalPath + "Receipt" + "/" + filePath;
FileStream fs = new FileStream(filePath, FileMode.Open);
byte[] bytes = new byte[fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.Expires = 0;
Response.Buffer = true;
Response.Charset = "UTF-8";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
Response.ContentType = "application/octet-stream";
//解决IE中文乱码问题
bool ie = Request.Headers.Get("User-Agent").IndexOf("MSIE") > 0 || Request.Headers.Get("User-Agent").IndexOf("Trident") > 0;
Response.AddHeader("Content-Disposition", "attachment;filename=" + (ie ? Server.UrlEncode(fileName) : fileName));
Response.AddHeader("Content-Transfer-Encoding", "binary");
Response.AddHeader("Content-Length", bytes.Length.ToString());
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
return new EmptyResult();
}
//
// GET: /FileDowns/
/// <summary>
/// 下载文件
/// </summary>
/// <returns></returns>
public ActionResult ReceiptDowmFile(string filePath, string FileType)
{
string fileName = filePath;
filePath = GetAppSetting.GetPhysicalPath + "Receipt/" + filePath;
FileStream fs = new FileStream(filePath, FileMode.Open);
byte[] bytes = new byte[fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.Expires = 0;
Response.Buffer = true;
Response.Charset = "UTF-8";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
Response.ContentType = "application/octet-stream";
//解决IE中文乱码问题
bool ie = Request.Headers.Get("User-Agent").IndexOf("MSIE") > 0 || Request.Headers.Get("User-Agent").IndexOf("Trident") > 0;
Response.AddHeader("Content-Disposition", "attachment;filename=" + (ie ? Server.UrlEncode(fileName) : fileName));
Response.AddHeader("Content-Transfer-Encoding", "binary");
Response.AddHeader("Content-Length", bytes.Length.ToString());
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
return new EmptyResult();
}
public ActionResult PreviewDowmFile(string filePath, string FileType)
{
string fileName = filePath;
filePath = GetAppSetting.GetPhysicalPath + "Receipt/" + filePath;
FileStream fs = new FileStream(filePath, FileMode.Open);
byte[] bytes = new byte[fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.Expires = 0;
Response.Buffer = true;
Response.Charset = "UTF-8";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
if (filePath.Contains(".pdf"))
{
Response.ContentType = "application/pdf";
}
else if(filePath.Contains(".jpg"))
{
Response.ContentType = "image/jpg";
}
else if(filePath.Contains(".png"))
{
Response.ContentType = "image/png";
}
else
{
Response.ContentType = "application/octet-stream";
}
//解决IE中文乱码问题
bool ie = Request.Headers.Get("User-Agent").IndexOf("MSIE") > 0 || Request.Headers.Get("User-Agent").IndexOf("Trident") > 0;
Response.AddHeader("Content-Disposition", "inline;filename=" + (ie ? Server.UrlEncode(fileName) : fileName));
Response.AddHeader("Content-Transfer-Encoding", "binary");
Response.AddHeader("Content-Length", bytes.Length.ToString());
Response.BinaryWrite(bytes);
//Response.Flush();
// Response.End();
try { Response.Flush(); }
catch { }
finally
{
System.Web.HttpContext.Current.ApplicationInstance.CompleteRequest();
}
//Response.Close();
return new EmptyResult();
}
//
// GET: /FileDowns/
/// <summary>
/// 下载文件
/// </summary>
/// <returns></returns>
public ActionResult DowmFile1(string filePath, string FileType)
{
string fileName = filePath;
filePath = GetAppSetting.GetPhysicalPath +"TruckOrder/"+ FileType + "/" + filePath;
FileStream fs = new FileStream(filePath, FileMode.Open);
byte[] bytes = new byte[fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.Expires = 0;
Response.Buffer = true;
Response.Charset = "UTF-8";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
Response.ContentType = "application/octet-stream";
//解决IE中文乱码问题
bool ie = Request.Headers.Get("User-Agent").IndexOf("MSIE") > 0 || Request.Headers.Get("User-Agent").IndexOf("Trident") > 0;
Response.AddHeader("Content-Disposition", "attachment;filename=" + (ie ? Server.UrlEncode(fileName) : fileName));
Response.AddHeader("Content-Transfer-Encoding", "binary");
Response.AddHeader("Content-Length", bytes.Length.ToString());
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
return new EmptyResult();
}
//
// GET: /FileDowns/
/// <summary>
/// 下载文件
/// </summary>
/// <returns></returns>
public ActionResult DowmFiles(string filePath, string FileType)
{
string fileName = filePath;
int intfiletype = 0;
if (int.TryParse(FileType, out intfiletype))
{
FileType = TruckFileManagerController.GetFileType(intfiletype);
}
filePath = GetAppSetting.GetPhysicalPath + FileType + "/" + filePath;
FileStream fs = new FileStream(filePath, FileMode.Open);
byte[] bytes = new byte[fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.Expires = 0;
Response.Buffer = true;
Response.Charset = "UTF-8";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
Response.ContentType = "application/octet-stream";
//解决IE中文乱码问题
bool ie = Request.Headers.Get("User-Agent").IndexOf("MSIE") > 0 || Request.Headers.Get("User-Agent").IndexOf("Trident") > 0;
Response.AddHeader("Content-Disposition", "attachment;filename=" + (ie ? Server.UrlEncode(fileName) : fileName));
Response.AddHeader("Content-Transfer-Encoding", "binary");
Response.AddHeader("Content-Length", bytes.Length.ToString());
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
return new EmptyResult();
}
#region 下载模板,关务
public ActionResult DownModal(string fileName) {
string filePath = Server.MapPath("~/ExcelModel/" + fileName+".xlsx");
FileStream fs = new FileStream(filePath, FileMode.Open);
byte[] bytes = new byte[fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.Expires = 0;
Response.Buffer = true;
Response.Charset = "UTF-8";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
Response.ContentType = "application/octet-stream";
//解决IE中文乱码问题
bool ie = Request.Headers.Get("User-Agent").IndexOf("MSIE") > 0 || Request.Headers.Get("User-Agent").IndexOf("Trident") > 0;
Response.AddHeader("Content-Disposition", "attachment;filename=" + (ie ? Server.UrlEncode(fileName + ".xlsx") : fileName + ".xlsx"));
Response.AddHeader("Content-Transfer-Encoding", "binary");
Response.AddHeader("Content-Length", bytes.Length.ToString());
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
return new EmptyResult();
}
#endregion
#region 洪祺 订单上传附件下载
public ActionResult DowmOrderFiles(string filePath, string FileType,string fileName)
{
int intfiletype = 0;
if (int.TryParse(FileType, out intfiletype))
{
FileType = TruckFileManagerController.GetFileType(intfiletype);
}
FileStream fs = new FileStream(filePath, FileMode.Open);
byte[] bytes = new byte[fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.Expires = 0;
Response.Buffer = true;
Response.Charset = "UTF-8";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
Response.ContentType = "application/octet-stream";
//解决IE中文乱码问题
bool ie = Request.Headers.Get("User-Agent").IndexOf("MSIE") > 0 || Request.Headers.Get("User-Agent").IndexOf("Trident") > 0;
Response.AddHeader("Content-Disposition", "attachment;filename=" + (ie ? Server.UrlEncode(fileName) : fileName));
Response.AddHeader("Content-Transfer-Encoding", "binary");
Response.AddHeader("Content-Length", bytes.Length.ToString());
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
return new EmptyResult();
}
#endregion
}
}
c#代码文件上传和下载的更多相关文章
- java代码实现ftp服务器的文件上传和下载
java代码实现文件上传到ftp服务器: 1:ftp服务器安装: 2:ftp服务器的配置: 启动成功: 2:客户端:代码实现文件的上传与下载: 1:依赖jar包: 2:sftpTools 工具类: ...
- 全网最简单的大文件上传与下载代码实现(React+Go)
前言 前段时间我需要实现大文件上传的需求,在网上查找了很多资料,并且也发现已经有很多优秀的博客讲了大文件上传下载这个功能. 我的项目是个比较简单的项目,并没有采用特别复杂的实现方式,所以我这篇文章的目 ...
- java web学习总结(二十四) -------------------Servlet文件上传和下载的实现
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...
- (转载)JavaWeb学习总结(五十)——文件上传和下载
源地址:http://www.cnblogs.com/xdp-gacl/p/4200090.html 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传 ...
- JavaWeb学习总结,文件上传和下载
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...
- java文件上传和下载
简介 文件上传和下载是java web中常见的操作,文件上传主要是将文件通过IO流传放到服务器的某一个特定的文件夹下,而文件下载则是与文件上传相反,将文件从服务器的特定的文件夹下的文件通过IO流下载到 ...
- 使用jsp/servlet简单实现文件上传与下载
使用JSP/Servlet简单实现文件上传与下载 通过学习黑马jsp教学视频,我学会了使用jsp与servlet简单地实现web的文件的上传与下载,首先感谢黑马.好了,下面来简单了解如何通过使用 ...
- JavaWeb学习总结(五十)——文件上传和下载
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...
- 文件上传和下载(可批量上传)——Spring(三)
在文件上传和下载(可批量上传)——Spring(二)的基础上,发现了文件下载时,只有在Chrome浏览器下文件名正常显示,还有发布到服务器后,不能上传到指定的文件夹目录,如上传20160310.txt ...
随机推荐
- 移动端触屏滑动touches使用
代码 var start = { x: 0, y: 0 } var end = { x: 0, y: 0 } document.addEventListener('touchstart', funct ...
- php 汉字的首字母
<?php//php获取中文字符拼音首字母function getFirstCharter($str){ if(empty($str)) { return ''; } $fchar=ord($s ...
- Tornado学习笔记(二) 路由/post/get传参
本章我们学习 Tornado 的路由传参等问题 路由 路由的匹配 Tornado的路由匹配采用的是正则匹配 一般情况下不需要多复杂的正则,正则的基本规则如下(站长之家) 举个例子 (r'/sum/(\ ...
- 分页插件pagination.js
项目中有分页功能,之前都是自己写,样式不好看,功能也简单,就找了这个插件pagination.js 页面导入pagination.js html代码 <div class="list_ ...
- Confluence 6 已经存在的安装配置数据库字符集编码
针对已经存在的 Confluence 安装,如果你安装的 Confluence 版本是 6.4 或者早期的版本,我们在安装的时候没有检查你数据库的字符设置. 如果你的数据库当前没有被配置使用 UTF- ...
- Confluence 6 管理员联系表单的后台配置界面
管理员联系表单的后台配置界面截图和配置. 对输入的数据进行编辑和选择是否启用发送电子邮件给管理员 https://www.cwiki.us/display/CONFLUENCEWIKI/Configu ...
- bat如何实现图片与名字匹配重命名
背景:有一批图片按顺序截取,需要按照规定的名称进行重名命. 问题:用批处理怎么实现呢?(公司电脑手动重名时,卡的不要不要的) No1:解决:将规定的名称放入criterion.txt中,将批处理Ren ...
- k倍区间
看大佬的代码看了半天,终于算是懂了 标题: k倍区间 给定一个长度为N的数列,A1, A2, … AN,如果其中一段连续的子序列Ai, Ai+1, … Aj(i <= j)之和是K的倍数,我们就 ...
- 【mongo】可以用localhost启动,无法用ip启动问题的解决
问题: mongo安装在a.b.c.d机器上,启动mongo服务后, mongo localhost:27017可以进入数据库, mongo 127.0.0.1:27017也可以进入数据库 mongo ...
- laravel 关联查询