{
Response.Write("对不起!文件不存在!!")
return
}
这里的芹段FileUpload1,是不是应该写成File.Exists....,FileUpload1看上去山芹像是控件名称,而对服务器上的文件检查应用的File类。请核实。而FileUpload控件只是用来上传文件的,并不可逗首毕能对已经存在于服务器上的文件进行访问。
下载代码,可以参考如下:
/// <summary>
/// 下载文件
/// </summary>
/// <param name="path">文件路径</param>
public void downLoad(string path)
{
try
{
string filePath = path
int temp = filePath.LastIndexOf("/") + 1
string fileName = filePath.Substring(temp, filePath.Length - temp)
//FileStream fileStream = new FileStream(Server.MapPath(filePath), FileMode.Open, FileAccess.Read, FileShare.Read)
FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read)
long fileSize = fileStream.Length
Context.Response.ContentType = "application/octet-stream"
Context.Response.AddHeader("Content-Disposition", "attachmentfilename=\"" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8) + "\"")
Context.Response.AddHeader("Content-Length", fileSize.ToString())
byte[] fileBuffer = new byte[fileSize]
fileStream.Read(fileBuffer, 0, (int)fileSize)
fileStream.Close()
Context.Response.BinaryWrite(fileBuffer)
Context.Response.End()
}
catch
{
Response.Write("<script>alert('查无此资料或已被删除')</script>")
}
}
你可以参考对比下
下面有四种方式,初学用第二种protected void Button1_Click(object sender, EventArgs e)
{
//TransmitFile实瞎首现下载
/**/
/*
微软为Response对象提供了一个新的方法TransmitFile来解决使用Response.BinaryWrite
下载超过400mb的文件时导致Aspnet_wp.exe进程回收而无法成功下载的问题。
代行运码如下:
*/
Response.ContentType = "application/x-zip-compressed"
Response.AddHeader("Content-Disposition", "attachmentfilename=keji.rar")
string filename = Server.MapPath("keji.rar")
Response.TransmitFile(filename)
Response.Write("<script language=\"javascript\" type=\"text/javascript\">")
Response.Write("alert(\"下载成功\")")
Response.Write("window.location.href=\"C_SC.aspx\"")
Response.Write("</script>")
}
protected void Button2_Click(object sender, EventArgs e)
{
//WriteFile实现下载
string fileName = "ceshi.rar"//客户端保存的文件名
string filePath = Server.MapPath("keji.rar")//路径
FileInfo fileInfo = new FileInfo(filePath)
Response.Clear()
Response.ClearContent()
Response.ClearHeaders()
Response.AddHeader("Content-Disposition", "attachmentfilename=" + fileName)
Response.AddHeader("Content-Length", fileInfo.Length.ToString())
Response.AddHeader("Content-Transfer-Encoding", "binary")
Response.ContentType = "application/octet-stream"
Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312")
Response.WriteFile(fileInfo.FullName)
Response.Flush()
Response.End()
}
protected void Button3_Click(object sender, EventArgs e)
{
//WriteFile分块下载
string fileName = "GhostXP.iso"磨带数//客户端保存的文件名
string filePath = Server.MapPath("GhostXP7.7.iso")//路径
System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath)
if (fileInfo.Exists == true)
{
const long ChunkSize = 409600//100K 每次读取文件,只读取100K,这样可以缓解服务器的压力
byte[] buffer = new byte[ChunkSize]
Response.Clear()
System.IO.FileStream iStream = System.IO.File.OpenRead(filePath)
long dataLengthToRead = iStream.Length//获取下载的文件总大小
Response.ContentType = "application/octet-stream"
Response.AddHeader("Content-Disposition", "attachmentfilename=" + HttpUtility.UrlEncode(fileName))
while (dataLengthToRead >0 &&Response.IsClientConnected)
{
int lengthRead = iStream.Read(buffer, 0, Convert.ToInt32(ChunkSize))//读取的大小
Response.OutputStream.Write(buffer, 0, lengthRead)
Response.Flush()
dataLengthToRead = dataLengthToRead - lengthRead
}
Response.Close()
}
}
//字符流方式下载文件
protected void Button4_Click(object sender, EventArgs e)
{
string fileName = "ce2.rar"//客户端保存的文件名
string filePath = Server.MapPath("keji.rar")//路径
//以字符流的形式下载文件
FileStream fs = new FileStream(filePath, FileMode.Open)
byte[] bytes = new byte[(int)fs.Length]
fs.Read(bytes, 0, bytes.Length)
fs.Close()
Response.ContentType = "application/octet-stream"
//通知浏览器下载文件而不是打开
Response.AddHeader("Content-Disposition", "attachment filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8))
Response.BinaryWrite(bytes)
Response.Flush()
Response.End()
}
开发环境为Visual Studio 2012,数据库为SQL SERVER2012R2,使用.net 4.5开发。
一、源码介绍
所有行业的ERP系统/进销存/仓库系统,该系统为vs2012 .net+MsSQL版,目前标准版功能简单、明了、满足公司正常谨携使用,已有多家企业正常使用,成熟稳定,有需要的可以下载看看。
二、主要功能
1、电商管理(可以和公众号、小程序对接) 微信订单、小程序订单、公众号订单
参数设置:轮播图片设置、分类导航设置、小程序参数设置、公众号参数设置
2、销售管理:销售订单、销售出库
3、采购管理:采购订单、采购入库
4、生产管理:BOM分组、BOM清单、生产计划、生产领料、生产入库
5、仓库管理:其他入库、其他出库、商品组装、商品拆卸、库存盘点、库存调拨
6、财务管理:销售收款、其他收款、采购付款、其他付款、收款核销、付款核销
7、采购报表
采购订单跟踪表 采购明细表 采购汇总表(按商品) 采购汇总表(按供应商)
8、销售报表
销售订单跟踪表 销售明细表凳宽 销售汇总表(按商品) 销售汇总表(按客户)
9、生产报表
生产计划跟踪表 生产领料明细表 生产领料汇总表 生产入库明细表 生产入库汇总表
10、仓存报表
商品库存余额表 商品收发明细表 商品收发汇总表
11、资金报表
现金银行报表 应付账款明细表 应收账款明细表
客户对账单 供应商对账单 其他收支明细
12、基础资料
供应商管理 商品管理 仓库管祥粗伏理 账户管理 员工管理 企业号通讯录
工序管理 辅助资料 客户类别 供应商类别 商品类别 商品品牌
收支类别 计量单位 结算方式 工序类别 高级设置 *** 作日志
参数设置 打印设置 Logo印章
3、默认数据库连接字符串在web.config配置文件中修改
获取源码方式:点赞+转发+关注+私信【进销存ERP】
******************************************************************************
欢迎点赞+转发+关注!大家的支持是我分享最大的动力!!!
******************************************************************************
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)