‘壹’ .net上传文件
如果你要让网站在你的电脑上发布,然后上传到其它电脑上,会涉及到文件夹访问安全权限的问题。必须获取到其它电脑上的Guest权限组的账号密码 才能搞定(这种方案网上随便一搜就由),不然人家不是随随便便就可以往你电脑上弄病毒了。
为什么不把上传的放到你电脑上,做链接,让别人自己去下呢?
或者做个WebService的接口,将你上传的程序转成2进制文件,给别人一个客户端,自己下载文件。
‘贰’ .net怎样实现上传文件
用控件的就zengjyxx说的,如果是Form Post的就在Form 里加个 enctype="multipart/form-data"
然后 Request.Files
‘叁’ ASP.NET中简单的文件上传后台代码
//获取客户端要上传的文件路径
string fullfilename = this.FileUpload1.PostedFile.FileName;
//获取客户端要上传的文件名
string filename = fullfilename.Substring(fullfilename.LastIndexOf("\\") + 1);
//将上传文件保存到File文件夹下
this.FileUpload1.PostedFile.SaveAs(Server.MapPath(".") + "\\File\\" + filename+FileTitle+Send_User );
‘肆’ .net 多文件上传
上传多文件和单个文件是一样的,只要你能把一个文件上传成功,那么多个就不存在问题了,首先获取文件的文件名,然后根据自己的需要修改文件名,然后把文件存到指定的路径下,最后把文件名放到数据库里,就这样。
下面是代码:
private void Botton1_Click(object sender, System.EventArgs e)
{
if(fileup.PostedFile.ContentLength!=0) //fileup 为ID名
{
if(fileup.PostedFile.ContentType=="image/pjpeg" ||fileup.PostedFile.ContentType=="image/gif" || fileup.PostedFile.ContentType=="image/bmp") //设置上传文件类型
{
string filename=fileup.PostedFile.FileName; //取得文件名
int i=filename.Length;
filename=filename.Remove(0,i-4);
string s=DateTime.Now.Year.ToString()+DateTime.Now.Month.ToString()+DateTime.Now.Day.ToString()+DateTime.Now.Hour.ToString()+DateTime.Now.Minute.ToString()+DateTime.Now.Second.ToString()+DateTime.Now.Millisecond.ToString();
string d=Server.MapPath("../upfiles/")+s+filename; //设置文件名
fileup.PostedFile.SaveAs(d); //保存文件
detail.Text+="<img src=../upfiles/"+s+filename+">"; //更改新闻内容
Label1.Text="上传成功";
}
else Label1.Text="只能上传图形文件";
}
else Label1.Text="请选择上传文件";
}
‘伍’ .net 如何上传整个文件夹的文件
如果要实现整个文件夹的上传, 有两种方式:
使用支持文件夹上传的插件.
.NET你可以用servlet; 或者Flesh. 其中 chrome浏览器支持使用javascript上传文件夹文件手动将文件夹中的所有文件,利用<input type="file" />控件添加到页面, 一次性提交上传. 其中支持html5的浏览器大部分可使用<input type="file" multiple="multiple" />一次选择多文件上传(IE9除外)
‘陆’ C#.net 上传文件到FTP
可以利用 C# FTP上传类上传
publicclassFtpWeb
{
stringftpServerIP;
stringftpRemotePath;
stringftpUserID;
stringftpPassword;
stringftpURI;
///<summary>
///连接FTP
///</summary>
///<paramname="FtpServerIP">FTP连接地址</param>
///<paramname="FtpRemotePath">指定FTP连接成功后的当前目录,如果不指定即默认为根目录</param>
///<paramname="FtpUserID">用户名</param>
///<paramname="FtpPassword">密码</param>
publicFtpWeb(stringFtpServerIP,stringFtpRemotePath,stringFtpUserID,stringFtpPassword)
{
ftpServerIP=FtpServerIP;
ftpRemotePath=FtpRemotePath;
ftpUserID=FtpUserID;
ftpPassword=FtpPassword;
ftpURI="ftp://"+ftpServerIP+"/"+ftpRemotePath+"/";
}
///<summary>
///上传
///</summary>
///<paramname="filename"></param>
publicvoidUpload(stringfilename)
{
FileInfofileInf=newFileInfo(filename);
stringuri=ftpURI+fileInf.Name;
FtpWebRequestreqFTP;
reqFTP=(FtpWebRequest)FtpWebRequest.Create(newUri(uri));
reqFTP.Credentials=newNetworkCredential(ftpUserID,ftpPassword);
reqFTP.KeepAlive=false;
reqFTP.Method=WebRequestMethods.Ftp.UploadFile;
reqFTP.UseBinary=true;
reqFTP.ContentLength=fileInf.Length;
intbuffLength=2048;
byte[]buff=newbyte[buffLength];
intcontentLen;
FileStreamfs=fileInf.OpenRead();
try
{
Streamstrm=reqFTP.GetRequestStream();
contentLen=fs.Read(buff,0,buffLength);
while(contentLen!=0)
{
strm.Write(buff,0,contentLen);
contentLen=fs.Read(buff,0,buffLength);
}
strm.Close();
fs.Close();
}
catch(Exceptionex)
{
Insert_Standard_ErrorLog.Insert("FtpWeb","UploadError-->"+ex.Message);
}
}
}
‘柒’ .net实现文件上传到服务器
1、前端界面十分简单,只是放一个file类型的和一个按钮,并且为这个按钮添加点击事件(btnUpLoad_Click),如下图:
protectedvoidbtnUpLoad_Click(objectsender,EventArgse)
{
//取出所选文件的本地路径
stringfullFileName=this.UpLoad.PostedFile.FileName;
//从路径中截取出文件名
stringfileName=fullFileName.Substring(fullFileName.LastIndexOf()+1);
//限定上传文件的格式
stringtype=fullFileName.Substring(fullFileName.LastIndexOf(.)+1);
if(type==doc||type==docx||type==xls||type==xlsx||type==ppt||type==pptx||type==pdf||type==jpg||type==bmp||type==gif||type==png||type==txt||type==zip||type==rar)
{
//将文件保存在服务器中根目录下的files文件夹中
stringsaveFileName=Server.MapPath(/files)++fileName;
UpLoad.PostedFile.SaveAs(saveFileName);
Page.ClientScript.RegisterStartupScript(Page.GetType(),message,<scriptlanguage='javascript'defer>alert('文件上传成功!');</script>);
//向数据库中存储相应通知的附件的目录
BLL.news.InsertAnnexBLLinsertAnnex=newBLL.news.InsertAnnexBLL();
AnnexEntityannex=newAnnexEntity();//创建附件的实体
annex.AnnexName=fileName;//附件名
annex.AnnexContent=saveFileName;//附件的存储路径
annex.NoticeId=noticeId;//附件所属“通知”的ID在这里为已知
insertAnnex.InsertAnnex(annex);//将实体存入数据库(其实就是讲实体的这些属性insert到数据库中的过程,具体BLL层和DAL层的代码这里不再多说)
}
else
{
Page.ClientScript.RegisterStartupScript(Page.GetType(),message,<scriptlanguage='javascript'defer>alert('请选择正确的格式');</script>);
}
}
‘捌’ ASP.net(C#)文件上传功能
#region 附件上传
/// <summary>
/// 附件上传
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
string filename = this.FileUpload1.PostedFile.FileName;
string filetype = this.FileUpload1.PostedFile.ContentType;
if (FileUpload1.HasFile)
{
string newfilename = System.DateTime.Now.Year.ToString() + System.DateTime.Now.Month.ToString() + System.DateTime.Now.Day.ToString() + System.DateTime.Now.Minute.ToString() + System.DateTime.Now.Second.ToString() + filename.Substring(filename.LastIndexOf("."), filename.Length - filename.LastIndexOf("."));
int len = filename.Length - filename.LastIndexOf("\\") - 1;
filename = filename.Substring(filename.LastIndexOf("\\") + 1, len);
string strPath = Server.MapPath("..\\..\\" + "uploadfile\\");
this.FileUpload1.PostedFile.SaveAs(strPath + newfilename);
this.Label3.Text = "..\\..\\uploadfile\\" + newfilename;
this.Label4.Visible = true;
}
else
{
Response.Write("<script>alert('请选择上传的附件!')</script>");
}
}
#endregion
‘玖’ .net 怎么上传文件
前台代码:<form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" /><%--上传文件的控件--%>
<asp:Button ID="Button1" runat="server" OnClick="UploadFiles" Text="提交" /><%--提交上传的文件--%>
</div>
</form>后台代码
protected void UploadFiles(object sender, EventArgs e)
{
try
{
if (HttpContext.Current.Request.Files.Count > 0)
{
//System.Web.HttpPostedFile Provides access to indivial files that have been uploaded by a client.
HttpPostedFile postedFile = HttpContext.Current.Request.Files[0];//获得用户提交的文件
string savePath;
string dir = HttpContext.Current.Request.PhysicalApplicationPath;//当前应用程序的根目录
savePath = dir + "Upload/DocumentFiles/";//保存文件的目录,要事先添加,不会自己添加
string date = DateTime.Now.ToString("yyyy-M-d") + "-" + DateTime.Now.Hour.ToString() + "-" + DateTime.Now.Minute.ToString() + "-" + DateTime.Now.Second.ToString() + "-";//根据自己需要添加
savePath +=date+Path.GetFileName(postedFile.FileName);
if (File.Exists(savePath))
{
File.Delete(savePath);//如果文件已经存在就将已存在的文件删除
}
postedFile.SaveAs(savePath);//将用户提交的文件postedFile保存为savePath
}
}
catch (Exception ex)
{
}
}