主要的代码如下:
上传部分:
//
得到提交的文件
Stream fileDataStream = upFile.PostedFile.InputStream;
// 得到文件大小
int fileLength = upFile.PostedFile.ContentLength;
// 创建数组
byte [] fileData = new byte [fileLength];
// 把文件流填充到数组
fileDataStream.Read(fileData, 0 , fileLength);
// 得到文件名字(包括扩展名,用于下载)
string fileName = upFile.Value.Substring(upFile.Value.LastIndexOf( " \\ " ) + 1 );
// 保存原文件名(包括扩展名,用于下载)
// fileName
// 保存文件内容(需要用Convert.ToBase64String转换为string类型)
// Convert.ToBase64String(fileData);
Stream fileDataStream = upFile.PostedFile.InputStream;
// 得到文件大小
int fileLength = upFile.PostedFile.ContentLength;
// 创建数组
byte [] fileData = new byte [fileLength];
// 把文件流填充到数组
fileDataStream.Read(fileData, 0 , fileLength);
// 得到文件名字(包括扩展名,用于下载)
string fileName = upFile.Value.Substring(upFile.Value.LastIndexOf( " \\ " ) + 1 );
// 保存原文件名(包括扩展名,用于下载)
// fileName
// 保存文件内容(需要用Convert.ToBase64String转换为string类型)
// Convert.ToBase64String(fileData);
下载部分:
Response.Clear();
// 使用UrlEncode,防止中文乱码
Response.AddHeader( " Content-Disposition " , " attachment; filename=\ "" + Server.UrlEncode(dr[ " FileName " ].ToString()) + " \ "" );
// 注意转换格式
Response.BinaryWrite(Convert.FromBase64String(dr[ " File " ].ToString()));
// 使用UrlEncode,防止中文乱码
Response.AddHeader( " Content-Disposition " , " attachment; filename=\ "" + Server.UrlEncode(dr[ " FileName " ].ToString()) + " \ "" );
// 注意转换格式
Response.BinaryWrite(Convert.FromBase64String(dr[ " File " ].ToString()));
操作数据库部分的代码,省略掉了,如果有哪位需要完整的代码,请点击下面的链接下载吧.
下载