首页 > 代码库 > [Asp.net]通过uploadify将文件上传到B服务器的共享文件夹中
[Asp.net]通过uploadify将文件上传到B服务器的共享文件夹中
写在前面
客户有这样的一个需求,针对项目中文档共享的模块,客户提出如果用户上传特别的大,或者时间久了硬盘空间就会吃满,能不能将这些文件上传到其他的服务器?然后就稍微研究了下这方面的东西,上传到网络中的某个共享的文件夹下确实能做到的。
解决方案
环境描述:
若A为web服务器,B为要存放文档的文件服务器。
如果通过A中的某个页面将文件上传到服务器B,则需要如下三个步骤。
1、在服务器B上面建立共享文件夹,步骤如下:
编辑贡献文件夹的权限,添加一个用户,并给它开放读写的权限。
2.共享文件夹建立之后,假如文件服务器B的IP地址为:192.168.83.123,可通过运行访问该文件夹是否共享成功。
3、简单测试,可以使用Uploadify进行上传测试。
关于uploadify的使用就不再做介绍了
修改UploadHander.ashx一般处理程序,核心代码如下:
1 /// <summary> 2 /// 处理请求的方法 3 /// </summary> 4 /// <param name="context">http上下文</param> 5 public void ProcessRequest(HttpContext context) 6 { 7 //获取或设置输出流的HTTP MIME类型 8 context.Response.ContentType = "text/plain"; 9 //获取上传的文件10 HttpPostedFile httpPostedFile = context.Request.Files["Filedata"];11 //如果接收到文件则httpPostedFile不为null,则对上传的文件进行处理,否则向客户端返回012 if (httpPostedFile != null)13 {14 15 //获取文件名16 string strfileName = httpPostedFile.FileName;17 18 //获取扩展名19 string strExt = Path.GetExtension(strfileName);20 21 //允许上传的文件类型22 string[] strExts = { ".jpg", ".png", ".gif", ".zip", ".rar" };23 24 //如果上传的文件类型,在被允许的类型中,则保存,否则向客户端输出“不允许上传”的信息提示。25 if (strExts.Contains(strExt))26 {27 //上传目录28 DirectoryInfo theFolder = new DirectoryInfo(@"\\192.168.83.123\upload\"); 29 //定义新的文件名,格式:“201404210323146909_文件名.zip”30 string strNewName = DateTime.Now.ToString("yyyyMMddhhmmssffff") + "_" + strfileName;31 string path = Path.Combine(theFolder.FullName, strNewName);32 //保存文件到文件服务器33 httpPostedFile.SaveAs(path);34 //将文件的保存的相对路径输出到客户端35 context.Response.Write(path);36 }37 else38 {39 context.Response.Write("不允许上传");40 }41 }42 else43 {44 //没有文件,向客户端输出045 context.Response.Write("0");46 }47 }
4、在全局处理程序Global.asax.cs中添加如下代码,应用程序启动时,创建访问文件服务器B的凭证。
核心代码如下:
1 protected void Application_Start(object sender, EventArgs e)2 {3 //System.Diagnostics.Process.Start("net.exe", "use \\\\B服务器的IP\\共享文件夹 \"B服务器上的密码\" /user:\"B服务器上的用户名\""), 4 System.Diagnostics.Process.Start("net.exe", "use \\\\192.168.83.123\\upload \"123456\" /user:\"xxxdev\\dev\"");5 }
这就话的意思是,在应用程序已启动的时候,就为访问B服务器提供凭证。
总结
当时弄这个,确实花了点功夫来配置共享文件夹的权限,也花了不少时间,就想着还是记录一下,希望能帮到你!
[Asp.net]通过uploadify将文件上传到B服务器的共享文件夹中
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。