求C#.NET上传大文件的三种解决方案

求C#.NET上传大文件的三种解决方案,第1张

HTML部分

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="up6.index" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />

<title>up6-多标签演示页面</title>

<link href="js/up6.css" type="text/css" rel="Stylesheet" charset="gb2312"/>

<script type="text/javascript" src="js/jquery-1.4.min.js"></script>

<script type="text/javascript" src="js/json2.min.js" charset="utf-8"></script>

<script type="text/javascript" src="js/up6.config.js" charset="utf-8"></script>

<script type="text/javascript" src="js/up6.app.js" charset="utf-8"></script>

<script type="text/javascript" src="js/up6.edge.js" charset="utf-8"></script>

<script type="text/javascript" src="js/up6.file.js" charset="utf-8"></script>

<script type="text/javascript" src="js/up6.folder.js" charset="utf-8"></script>

<script type="text/javascript" src="js/up6.js" charset="utf-8"></script>

<script language="javascript" type="text/javascript">

var cbMgr = new HttpUploaderMgr()

cbMgr.event.md5Complete = function (obj, md5) { /*alert(md5)*/ }

cbMgr.event.fileComplete = function (obj) { /*alert(obj.fileSvr.pathSvr)*/ }

cbMgr.event.queueComplete = function () { $(document.body).append("队列完成<br/>")}

cbMgr.event.addFdError = function (jv) { alert("本地路径不存在:" + jv.path)}

cbMgr.event.scanComplete = function (obj) { /*alert(obj.folderSvr.pathLoc)*/ }

cbMgr.Config["Cookie"] = 'ASP.NET_SessionId=<%=Session.SessionID%>'

cbMgr.Config.Fields["uid"] = 0

$(function ()

{

cbMgr.load_to("FilePanel")

//上传指定文件

$("#btnUpF").click(function () {

var path = $("#filePath").val()

cbMgr.app.addFile({ pathLoc: path })

})

//上传指定目录

$("#btnUpFd").click(function () {

var path = $("#folderPath").val()

cbMgr.app.addFolder({ pathLoc: path })

})

})

</script>

</head>

<body>

<p>up6多标签上传演示页面</p>

<p><a href="db/clear.aspx" target="_blank">清空数据库</a></p>

<p><a href="filemgr/index.aspx" target="_blank">文件管理器演示</a></p>

<p><a href="index2.aspx" target="_blank">单面板演示</a></p>

<p><a href="down2/index.htm" target="_blank">打开下载页面</a></p>

<p><a href="index-single.htm" target="_blank">单文件上传演示</a></p>

<p>

文件路径:<input id="filePath" type="text" size="50" value="D:\\360safe-inst.exe" />&nbsp

<input id="btnUpF" type="button" value="上传本地文件" />

</p>

<p>

目录路径:<input id="folderPath" type="text" size="50" value="C:\\Users\\Administrator\\Desktop\\test" />&nbsp

<input id="btnUpFd" type="button" value="上传本地目录" />

</p>

<div id="FilePanel"></div>

<div id="msg"></div>

</body>

</html>

代码部分

using  System

using  System.Collections

using  System.ComponentModel

using  System.Data

using  System.Drawing

using  System.Web

using  System.Web.SessionState

using  System.Web.UI

using  System.Web.UI.WebControls

using  System.Web.UI.HtmlControls

namespace  WebPortal

{

///  <summary>

///  UpLoad  的摘要说明。

///  实现多文件上传

///  </summary>

public  class  Upload  :  System.Web.UI.Page

{

protected  System.Web.UI.WebControls.Button  UploadButton

protected  System.Web.UI.WebControls.Label  strStatus

private  void  Page_Load(object  sender,  System.EventArgs  e)

{

///  在此处放置用户代码以初始化页面

if  (this.IsPostBack)  this.SaveImages()

}

private  Boolean  SaveImages()

{

///'遍历File表单元素

HttpFileCollection  files    =  HttpContext.Current.Request.Files

///  '状态信息

System.Text.StringBuilder  strMsg  =  new  System.Text.StringBuilder()

strMsg.Append("上传的文件分别是:<hr  color=red>")

try

{

for(int  iFile  =  0  iFile  <  files.Count  iFile++)

{

///'检查文件扩展名字

HttpPostedFile  postedFile  =  files[iFile]

string  fileName,  fileExtension

fileName  =  System.IO.Path.GetFileName(postedFile.FileName)

if  (fileName  !=  "")

{

fileExtension  =  System.IO.Path.GetExtension(fileName)

strMsg.Append("上传的文件类型:"  +  postedFile.ContentType.ToString()  +  "<br>")

strMsg.Append("客户端文件地址:"  +  postedFile.FileName  +  "<br>")

strMsg.Append("上传文件的文件名:"  +  fileName  +  "<br>")

strMsg.Append("上传文件的扩展名:"  +  fileExtension  +  "<br><hr>")

///'可根据扩展名字的不同保存到不同的文件夹

///注意:可能要修改你的文件夹的匿名写入权限。

postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("images/")  +  fileName)

}

}

strStatus.Text  =  strMsg.ToString()

return  true

}

catch(System.Exception  Ex)

{

strStatus.Text  =  Ex.Message

return  false

}

}

#region  Web  窗体设计器生成的代码

override  protected  void  OnInit(EventArgs  e)

{

//

//  CODEGEN:  该调用是  ASP.NET  Web  窗体设计器所必需的。

//

InitializeComponent()

base.OnInit(e)

}

///  <summary>

///  设计器支持所需的方法  -  不要使用代码编辑器修改

///  此方法的内容。

///  </summary>

private  void  InitializeComponent()

{

this.ID  =  "Upload"

this.Load  +=  new  System.EventHandler(this.Page_Load)

}

#endregion

}

}

选择文件夹

js部分

后端代码逻辑大部分是相同的

问题一:怎样才能在网上传送大容量文件? 用QQ邮箱的【文件中转站】容量不够可以扩充(完全免费)

问题二:电脑怎么传输大于4G的文件 U盘必须先确定文件系统支持4G以上大文件,比如格式化成NTFS格式或者exFAT格式,否则像FAT32、FAT16的文件系统不支持4G以上文件。

插入U盘后右键查看属性可以看文件系统。

右键格式化可以格式化并更改文件系统(建议勾选快速格式化)

问题三:电脑之间怎么传大文件 电脑和电脑之间传文件可分为直接和间接传文件:

.

一.直接:

1).2台电脑间使用电缆线连接传文件.

2).2台电脑间使用USB线连接传文件.

3).2台电脑间使用网线连接,组网设置共享传文件

.

二.间接:

1).2台电脑间使用U盘传文件.

2).2台电脑间使用移动硬盘传文件.

3).A电脑上传文件到网盘,B电脑去网盘下载文件.

问题四:qq里怎么传大的文件,而且要速度快的 QQ客户端有“发送微云文件”的功能,能很快地实现大文件的传送,几乎达到了秒传。

打开QQ聊天窗口,点击送文件按钮

在下拉菜单中选择发送微云文件

在微云中选择从本地上传的大文件,点击确定

1GB多的一部电影,秒传给对方了。

问题五:大文件如何传输到u盘 你先把U盘格式化为NTFS格式,以后就能传输大于4 G的文件了

问题六:如何快速把大文件传送到对方邮箱 首先 你要把文件压缩成ZIP或者RAR格式

其次 进入QQ邮箱 在左侧一栏的下方 有个“文件中转站”,然后上传你压缩好的文件。

最后 上传好了以后 发送到对方憨箱里 他就可以下载了。

问题七:大附件文件如何快速传输?如何快速传输大文件? 随着各类素材尺寸的增大,大家对邮件附件容量及上传速度等的要求也越来越高。然而,在邮件使用中常常遇到很多问题,例如公司邮箱对附件大小限制,无法发送大附件,或是很尴尬地无法接收客户发送的大附件;发送大附件速度很慢,严重影响办公效率;大量附件带来邮件数据的迅猛增长和后台压力,使IT成本不断增加。

值得一提的是,联想企业网盘可以帮忙解决以上遇到的各种问题,详情可以参阅box.lenovo/user/reg?C=BWD01联想企业网盘还可支持将收件箱附件自动转存至云端,以延长数据的保存时间。如此以来,用户可以随时访问发送箱和收件箱的所有附件,让邮件附件管理更加便捷。

问题八:网上传送大的文件需要怎么传 网上传送大的文件,有不同的载体,如:上传到网页、上传到网盘、上传到邮箱等,以上传到QQ邮箱为例,具体方法是:

1、登录QQ。

2、点击邮箱标记,进入邮箱。

3、点击文件中转站,如下图:

4、在文件中转站中点上传,如下图:

5、上传到文件中转站的文件,可以保留一个月,在此间可以发送给任意一个邮箱。

问题九:如何发送大文件,最好的方法是什么? 压缩打包以后发送

不知道你是用什么发送文件 是用QQ吗还是其他的

用邮件的话附件只有20兆的限制

如果用QQ发送文件 发送方和接受方用的是一个品牌的网线速度还可以

如果用的是不同品牌的网线速度是相当慢的!

希望能对你有帮助!

问题十:大文件如何传输? 首先 你要把文件压缩成ZIP或者RAR格式

其次 进入QQ邮箱 在左侧一栏的下方 有个“文件中转站”,然后上传你压缩好的文件。

最后 上传好了以后 发送到对方邮箱里 他就可以下载了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11524183.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存