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;
}
}