C# 文件管理系统 上传 下载

A一剑飞鸿 2011-05-30 10:17:25
怎样用C#编写一个文件管理系统,提供文件的上传、下载、浏览、检索功能。
...全文
470 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
西南黑少 2013-12-05
  • 打赏
  • 举报
回复
加我qq:345052649直接给你一个现成的
埃里森 2011-11-28
  • 打赏
  • 举报
回复
听说这里的资源很多,可是我的积分不够..
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 gsg8709 的回复:]

就是的同时完成客户端与服务器端的交互。
[/Quote]

保存数据库
上传就上传路径,文件流。。。。
下载点击路径下载。
检索按文件名,按类别,按XX,按XXOO 检索
删除更简单了。。
flyerwing 2011-06-01
  • 打赏
  • 举报
回复
这么笼统的说,这东西可以很复杂也可以很简单;不知道了
随心录123 2011-06-01
  • 打赏
  • 举报
回复
http://download.csdn.net/source/3243506 应该满足你的需求的
陌上青青草 2011-06-01
  • 打赏
  • 举报
回复
学习学习再学习。
子夜__ 2011-05-30
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections.Specialized;
using System.Net;
using System.Net.Sockets;
using System.IO;
namespace CompleteClient
{
/// <summary>
/// 文件发送工作类
/// </summary>
class PostFile
{
/// <summary>
/// 通过post发送指定文件的指定字段到指定的uri上
/// </summary>
/// <param name="uploadfile">上传文件路径</param>
/// <param name="url">上传的到的URi位置</param>
/// <param name="offset">当前偏移量</param>
/// <param name="size">需要发送的块大小</param>
/// <param name="fileFormName">服务器端"GET"取得的文件名</param>
/// <param name="contenttype">文件类型(保留用)</param>
/// <param name="querystring">GET数组(供服务器用GET取得一些信息)</param>
/// <param name="cookies">本地cookies(保留用)</param>
/// <returns>uri的response的内容以string的形式返回</returns>
public string UploadFileEx(string uploadfile, string url, long offset, long size,
string fileFormName, string contenttype,
NameValueCollection querystring, CookieContainer cookies)
{
if ((fileFormName == null) ||
(fileFormName.Length == 0))
{
fileFormName = "file";
}

if ((contenttype == null) ||
(contenttype.Length == 0))
{
contenttype = "application/octet-stream";
}

string postdata;
postdata = "?";
if (querystring != null)
{
foreach (string key in querystring.Keys)
{
postdata += key + "=" + querystring.Get(key) + "&";
}
}
Uri uri = new Uri(url + postdata);

string boundary = "----------" + DateTime.Now.Ticks.ToString("x");
HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(uri);
webrequest.CookieContainer = cookies;
webrequest.ContentType = "multipart/form-data; boundary=" + boundary;
webrequest.Method = "POST";

// 构造一个post请求的http头
StringBuilder sb = new StringBuilder();
sb.Append("--");
sb.Append(boundary);
sb.Append("\r\n");
sb.Append("Content-Disposition: form-data; name=\"");
sb.Append(fileFormName);
sb.Append("\"; filename=\"");
sb.Append(Path.GetFileName(uploadfile));
sb.Append("\"");
sb.Append("\r\n");
sb.Append("Content-Type: ");
sb.Append(contenttype);
sb.Append("\r\n");
sb.Append("\r\n");

string postHeader = sb.ToString();
byte[] postHeaderBytes = Encoding.UTF8.GetBytes(postHeader);

// Build the trailing boundary string as a byte array
// ensuring the boundary appears on a line by itself
byte[] boundaryBytes =
Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");

FileStream fileStream = new FileStream(uploadfile,
FileMode.Open, FileAccess.Read);
long length = postHeaderBytes.Length + (long)size +
boundaryBytes.Length;
webrequest.ContentLength = length;

Stream requestStream = webrequest.GetRequestStream();
// 写入post头
requestStream.Write(postHeaderBytes, 0, postHeaderBytes.Length);

// 写入文件内容
byte[] buffer = new Byte[size];
fileStream.Seek(offset, SeekOrigin.Current);
fileStream.Read(buffer, 0, buffer.Length);

requestStream.Write(buffer, 0, buffer.Length);

// 写入post请求的尾
requestStream.Write(boundaryBytes, 0, boundaryBytes.Length);
//读取服务器的反馈消息
WebResponse responce = webrequest.GetResponse();
Stream s = responce.GetResponseStream();
StreamReader sr = new StreamReader(s);

return sr.ReadToEnd();
}
}
}


这些东西不难。。
bu在服务区 2011-05-30
  • 打赏
  • 举报
回复
上传,下载,浏览信息全部保存在数据库啊!~~
他要下载就给他个文件保存的路径,他要上传就往数据库里面存一条保存路径,他要查询就给浏览次数+1不就OK 了~~~
wangwang1103 2011-05-30
  • 打赏
  • 举报
回复
百度吧,里面有很多你需要的例子。
xiaoyunxiazai999 2011-05-30
  • 打赏
  • 举报
回复
你要的是源码还是思路?源码可以去开源网址上去下载,思路可以参照源码自己想!
Ni_Yang 2011-05-30
  • 打赏
  • 举报
回复
看帖回复是一种美德。。。
Bo217 2011-05-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wxr0323 的回复:]
C# code
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections.Specialized;
using System.Net;
using System.Net.Sockets;
using System.IO;
namespace Complete……
[/Quote]
厉害,学习下
javashare 2011-05-30
  • 打赏
  • 举报
回复
好好学习
yangrigui 2011-05-30
  • 打赏
  • 举报
回复
学习学习
A一剑飞鸿 2011-05-30
  • 打赏
  • 举报
回复
就是的同时完成客户端与服务器端的交互。
A一剑飞鸿 2011-05-30
  • 打赏
  • 举报
回复
初学者,多指教!
著名天才___ 2011-05-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xiaoyunxiazai999 的回复:]

你要的是源码还是思路?源码可以去开源网址上去下载,思路可以参照源码自己想!
[/Quote]

这个回复 相当强悍。。。
A一剑飞鸿 2011-05-30
  • 打赏
  • 举报
回复
wxr0323 那下载文件和主函数怎么写啊?
学生个人文件管理系统 v2.0 A.声明: 1.非源代码。 2.有些用户没有设置自己的数据库服务器就直接登录或者注册,这样是不会成的, 请选择自定义服务器,然后填入自己的IP,数据库用户名以及密码,因为默认服 务器的IP是192.168.0.252. 3.暂不支持拖拽功能(将文件拖进去就能上传) 4.每隔10分钟系统会锁定一次,以防止其他用户恶意操作数据,需解锁请输入自己 的登录密码。【暂不支持设置间隔时间或者设置是否采取锁定策略】 5.暂不支持修改上传后的文件的属性(类别等) 6.在Win7上运行时需要管理员权限,请以管理员方式运行本程序。 B.新版特性: 1.修正了大文件上传下载时服务器超时的Bug. 可上传500M以内的单个文件.(在空间大小足够的前提下) 2.修正了客户端上传文件的时间与服务器时间不同步的Bug, 同时在充分考虑服务器性能的前提下,给客户端提供了正 确的时间。 3.新增数据库压缩功能,针对数据库日志文件动辄上G的问题 提供了解决方案,使客户端用户使用更流畅。(管理员功能) 4.(2011-03-14)纠正了数据创建时错误,适应SQLServer不同 版本的数据库;纠正了在SQLServer下不同版本数据库备份时路径 错误问题。 5.(2011-03-14)纠正了程序中密码验证不区分大小写的错误。 6.(2011-03-18) 纠正了系统锁定后无法解锁的错误 2011-03-18 23:20 南充市扎针高手 李泽波

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧