aspnet上传附件
❶ asp.net c#写一个上传文件的功能。当上传超过4M的文件时页面就会报错说:超过了最大请求长度。该怎么修改
Web.config 里面<httpRuntime maxRequestLength="204800" useFullyQualifiedRedirectUrl="true" executionTimeout="300"/>
但是这个上传功能很有限,受制于网络环境影响,比如性我这个设置,可以上传200M,但实际在局域网内只能是几十M,如果是一般的网络,也就只能几兆了。
这是因为虽然这个不限制了,但是网站还有个超时限制,比如90秒,你家里网络100K/s的话,你最大只能是9M,实际中就更小了。
所以对于大文件上传,最好使用组件或是自己写组件,我没有下载到好组件,自己又懒得没写。
❷ asp.net(c#)如何上传大文件
(1)想要想上传大文件,必须在web.config文件中进行配置。
(2)在节点中添加如下代码即可:<httpRuntime maxRequestLength="2097151"/>。
(3)这个代码就是表示设置最大请求值,上传文件也就相当于请求。“maxRequestLength”单位为KB,最大值为2097151,如果不设置,默认为4096 KB (4 MB)。也就是说上传的文件最大可以上传2G以内的文件。
(4)一般没有配置的话,默认只能上传4M以内的文件。配置了的话就可以上传更大的文件。
❸ asp.net C# b/s 系统 怎么实现文件的上传下载。
点击上传按钮:
protected void btnupload_Click(object sender, EventArgs e)
{
string file = uploadfile.SaveFile(uploadpic, upleixing,"uploadpic");
if (UpType.ToLower() == "one")
{
Response.Write("<script>parent.document.form1." + htmControl + ".value='" + file + "';</script>");
}
else
{
Response.Write("<script>if(parent.document.form1." + htmControl + ".value==''){parent.document.form1." + htmControl + ".value='" + file + "';}else{parent.document.form1." + htmControl + ".value+='|" + file + "';}</script>");
}
}
类
uploadfile.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
/// <summary>
/// uploadfile 的摘要说明
/// </summary>
public class uploadfile
{
public uploadfile()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 判断文件路径是否存在;
/// 返回创建点日期文件夹路径
/// </summary>
/// <returns></returns>
public static string createFolder()
{
string rtpaht = "";
DateTime datenow = DateTime.Now;
string year = datenow.Year.ToString();
string month = datenow.Month.ToString();
string date = datenow.Day.ToString();
if (Directory.Exists(HttpContext.Current.Server.MapPath("~/uploadpic/" + year + "/" + month + "/" + date + "")) == false)
{
Directory.CreateDirectory(HttpContext.Current.Server.MapPath("~/uploadpic/" + year + "/" + month + "/" + date + ""));
}
rtpaht = "" + year + "/" + month + "/" + date + "";
return rtpaht;
}
/// <summary>
/// 保存文件,返回带日期文件夹的路径。
/// </summary>
/// <param name="file"></param>
/// <param name="type"></param>
/// <returns></returns>
public static string SaveFile(FileUpload file,string type)
{
return SaveFile(file, type, "uploadpic");
}
/// <summary>
/// 保存文件
/// </summary>
/// <param name="file"></param>
/// <param name="type"></param>
/// <param name="SaveFoder"></param>
/// <returns></returns>
public static string SaveFile(FileUpload file, string type,string SaveFoder)
{
if (type.IndexOf("asp") >= 0 || type.IndexOf("php") >= 0 || type.IndexOf("aspx") >= 0 || type.IndexOf("jsp") >= 0 || type.IndexOf("exe") >= 0)
{
HttpContext.Current.Response.End();
}
string filename = file.PostedFile.FileName;
if (file.HasFile)
{
string savepath1 = createFolder();
string savepath = "";
if (SaveFoder == "")
{
savepath = HttpContext.Current.Server.MapPath("~/"+SaveFoder+"/" + savepath1);
if (Directory.Exists(savepath) == false)
{
Directory.CreateDirectory(savepath);
}
}
else
{
savepath = HttpContext.Current.Server.MapPath("~/" + SaveFoder + "/" + savepath1);
if (Directory.Exists(savepath) == false)
{
Directory.CreateDirectory(savepath);
}
}
string filename2 = DateTime.Now.ToString().Replace("-", "").Replace(":", "").Replace(" ", "") + "." + GetFileExtends(filename, type);
file.SaveAs(savepath + "/" + filename2);
return savepath1 + "/" + filename2;
}
else
{
// HttpContext.Current.Response.Write(CommdClass.ResponseScript("请选择上传的文件!", "-1"));
return "nofile.jpg";
}
}
/// <summary>
///
/// </summary>
/// <param name="filename"></param>
/// <param name="filetype">文件类型(gif,jpg,bmp)</param>
/// <returns></returns>
public static string GetFileExtends(string filename,string filetype)
{
string ext = null;
if (filename.IndexOf('.') > 0)
{
string[] fs = filename.Split('.');
ext = fs[fs.Length - 1];
}
if (filetype.IndexOf(ext.ToLower()) < 0)
{
HttpContext.Current.Response.Write(ext + "<br>" + filetype);
HttpContext.Current.Response.Write(CommdClass.ResponseScript("文件格式错误,只允许上传" + filetype + "格式文件。", "0"));
return"";
}
return ext;
}
}
❹ Asp.net(c#)文件上传于下载
我这里有个上传的函数,下载的还没做过(新手,目前还没用到),你看看吧能不能用了。
public void Upload(string path, System.Web.UI.WebControls.FileUpload fileupload)
{
bool fileOK = false;
if (FileUpload1.HasFile)
{
string fileException = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
//获取指定路劲字符串的后缀名,并转化为小写
string[] allowExcption = { ".jpg", ".jpeg", ".bmp",".gif" };
//定义允许的后缀名
for (int i = 0; i < allowExcption.Length; i++)
{
if (fileException == allowExcption[i])
{
fileOK = true;
}
}
}
if (fileOK)
{
//判断文件是否存在,若不在则创建路径
if (System.IO.Directory.Exists(path))
{
//MessageBox.Show("该目录已经存在","信息提示");
}
else
{
System.IO.Directory.CreateDirectory(path);//创建文件路径
}
fileupload.SaveAs(path + "\" + fileupload.FileName);//上传文件
}
else
{
Response.Write("<Script>alert('不支持此格式文件上传')</Script>");
return;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string serverpath = Server.MapPath("~/ImageFile");
string imapath = "~/ImageFile/" + FileUpload1.FileName;
Upload(serverpath, this.FileUpload1);
Image1.ImageUrl = imapath;
serverpath = Server.MapPath("~/ImageFile");
imapath = "~/ImageFile/" + FileUpload1.FileName;
Image1.ImageUrl = imapath;
Upload(serverpath, this.FileUpload1);
}
这部分是调用的(预览的功能),你要上传的话改成数据库操作就可以了,存放上传的路劲,文件的话她会自动生成文件夹放在里面的。
❺ ASPNET(c#)服务器控件FileUpload的问题
你这样搞错了吧.
protected void Page_Load(object sender, EventArgs e)
{
this.FRUploadImage.Attributes.Add("onchange", "document.getElementById('FRUploadImagePic2').src='"+FRUploadImage.PostedFiles.FileName+"'");
}
你这是在Page_Load里执行的,肯定报错,Page_Load是页面初始化就执行的.
你应该再增加一个服务器按钮,然后在按钮的OnClick事件里判断上传控件文件是否为空,然后再保存文件到指定目录.记得保存文件的目录要设置写入的权限.
❻ asp.net怎么在页面上传doc,ppt文件,然后提供下载。(用C#开发。)
有一个控件fileupload控件
可以上传,然后把上传的文件的路径和重命名存放到数据库里
在下载页,绑定出来,提供下载
❼ 请问,如何用ASP+C#实现上传附件的功能
你可以去www.csdn.net查阅相关资料
以下是我工作中做的2个方法,可以实现不知道你能不能看懂
private void upfile_ServerClick(object sender, System.EventArgs e)
{
if(File1.PostedFile.FileName.Trim()!="")
{ //文件扩展名
string filename="";
//保存路径
string savepath="";
//文件的全名
string filefull=File1.PostedFile.FileName;
int dotPos=0;
//取得文件名(包括路径)里最后一个"."的索引
dotPos=filefull.LastIndexOf(".");
//取得文件扩展名
filename=filefull.Substring(dotPos);
//文件名加密
//filename=Session.SessionID.ToString().Substring(0,5)+Convert.ToChar((new Random()).Next(31)+65)+"_"+(new Random()).Next(100)+filename;
//这里自动根据日期和文件大小不同为文件命名,确保文件名不重复。
//DateTime now = DateTime.Now;
//string newname=now.DayOfYear.ToString()+File1.PostedFile.ContentLength.ToString();
string newname=Session.SessionID.ToString().Substring(0,5)+Convert.ToChar((new Random()).Next(31)+65)+"_"+(new Random()).Next(100)+File1.PostedFile.ContentLength.ToString();
//上传到服务器上返回与服务器上虚拟路径相对应的物理路径
savepath=Server.MapPath("\\UpFiles\\"+newname);
//保存到此文件夹
File1.PostedFile.SaveAs(savepath);
fname.Text=System.IO.Path.GetFileName(filefull);
truename.Text=newname;
fenc.Text=File1.PostedFile.ContentType;
//"文件名:"+文件类型:""+"文件大小:"+"(字节)"+"文件存放路径:"+"文件扩展名:"+
fsize.Text=File1.PostedFile.ContentLength.ToString();
fpath.Text="\\UpFiles\\"+newname+filename;
fExtension.Text=System.IO.Path.GetFileName(filename);
int doc_id=Convert.ToInt32(Request.QueryString["doc_id"]);
if(doc_id==0)
{
BTTech.WebMoles.Knowledgemanager.Folder addfileatt=new BTTech.WebMoles.Knowledgemanager.Folder
(
fname.Text,truename.Text,Convert.ToInt32(fsize.Text),fenc.Text,fpath.Text,DateTime.Now,fExtension.Text
);
addfileatt.SavafileAtt1();
DataTable dt =BTTech.WebMoles.Knowledgemanager.Folder.GetFilecontinfo();
DataGrid1.DataSource=dt;
DataGrid1.DataBind();
}
else
{
BTTech.WebMoles.Knowledgemanager.Folder addfileatt=new BTTech.WebMoles.Knowledgemanager.Folder
(
doc_id,fname.Text,truename.Text,Convert.ToInt32(fsize.Text),fenc.Text,fpath.Text,DateTime.Now,fExtension.Text
);
addfileatt.SavafileAtt();
DataTable dt =BTTech.WebMoles.Knowledgemanager.Folder.GetFilecontinfo1(doc_id);
DataGrid1.DataSource=dt;
DataGrid1.DataBind();
}
}
}
private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.CommandName=="DownLoad")
{ string yname="";
string name="";
string extents="";
//shiyan
try
{
int doc_id=Convert.ToInt32(Request.QueryString["doc_id"],10);
SqlDataReader dr;
string con=System.Configuration.ConfigurationSettings.AppSettings["connectionString"];
SqlConnection conn=new SqlConnection(con);
SqlCommand command = new SqlCommand("Select Fname,TrueName,DocType from Km_FileCont where DocID=@doc_id",conn);
command.Parameters.Add("@doc_id",doc_id);
conn.Open();
dr=command.ExecuteReader();
dr.Read();
string fname=dr["Fname"].ToString();
string truename=dr["TrueName"].ToString();
string doctype=dr["DocType"].ToString();
//int hif=Convert.ToInt32(hifolderid);
dr.Close();
conn.Close();
//folder_id=hif;
// Response.Redirect("shareshow.aspx?folder_id="+folder_id);
yname=fname;
name=truename;
extents=doctype;
}
catch
{}
string path=Server.MapPath(@".").Substring(0,Server.MapPath(@".").LastIndexOf("\\")) + "\\upfiles\\"+name;
System.IO.FileInfo theFile = new System.IO.FileInfo( path );
Response.Clear();
Response.AddHeader("Content-Disposition","attachment; filename=" +yname );
Response.AddHeader("Content-Length",theFile.Length.ToString());
Response.ContentType="application/octet-stream";
Response.WriteFile(theFile.FullName);
Response.End();
}
}
❽ asp.net文件上传怪事
我做过上传是upload 上传的是图片格式
string pic = rs.GetValue(6).ToString();
string[] split = pic.Split(new Char[] { ',' });
for (int i = 0; i < split.Length; i++)
{
Response.Write("<img name='' src='../upload/"+split[i]+"' width='170' height='300' alt='' />");
}
非常之快
❾ ASP.NET(c#)跨服务器上传文件
sssssss
❿ asp.net(c#)多文件上传问题
首先在网页预备五个上传文件(FileUpLoad),并有五个"继续添加”按钮,用该按钮来控件这个5个FileUpLoad的隐藏与显示问题。
<td class="CreateQueTdValue">
<asp:FileUpload ID="FileUpload1" Visible="true" runat="server" />
<asp:Label ID="FileUploadLabel1" Visible="false" runat="server"></asp:Label>
<asp:FileUpload ID="FileUpload2" Visible="true" runat="server" />
<asp:Label ID="FileUploadLabel2" Visible="false" runat="server"></asp:Label>
<asp:FileUpload ID="FileUpload3" Visible="true" runat="server" />
<asp:Label ID="FileUploadLabel3" Visible="false" runat="server"></asp:Label>
<asp:FileUpload ID="FileUpload4" Visible="false" runat="server" />
<asp:Label ID="FileUploadLabel4" Visible="false" runat="server"></asp:Label><br />
<asp:FileUpload ID="FileUpload5" Visible="false" runat="server" />
<asp:Label ID="FileUploadLabel5" Visible="false" runat="server"></asp:Label>
<asp:LinkButton ID="ContinueLinkButton" runat="server" Text="增加附件选项"
onclick="ContinueLinkButton_Click">
</asp:LinkButton>
</td>
//继续添加附件
protected void ContinueLinkButton_Click(object sender, EventArgs e)
{
if (FileUpload4.Visible == true)
{
FileUpload5.Visible = true;
ContinueLinkButton.Visible = false;
return;
}
if (FileUpload3.Visible == true)
{
FileUpload4.Visible = true;
return;
}
if (FileUpload2.Visible == true)
{
FileUpload3.Visible = true;
return;
}
if (FileUpload1.Visible == true)
{
FileUpload2.Visible = true;
return;
}
}