❶ asp.net中上傳文件到遠程FTP伺服器指定目錄下,求大神幫助,小弟不勝感激
private string ftpServerIP = "伺服器ip";//伺服器ip
private string ftpUserID = "ftp的用戶名";//用戶名
private string ftpPassword = "ftp的密碼";//密碼
//filename 為本地文件的絕對路徑
//serverDir為伺服器上的目錄
private void Upload(string filename,string serverDir)
{
FileInfo fileInf = new FileInfo(filename);
string uri = string.Format("ftp://{0}/{1}/{2}", ftpServerIP,serverDir,fileInf.Name);
FtpWebRequest reqFTP;
// 根據uri創建FtpWebRequest對象
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));
// ftp用戶名和密碼
reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
// 默認為true,連接不會被關閉
// 在一個命令之後被執行
reqFTP.KeepAlive = false;
// 指定執行什麼命令
reqFTP.Method = WebRequestMethods.Ftp.UploadFile;
// 指定數據傳輸類型
reqFTP.UseBinary = true;
// 上傳文件時通知伺服器文件的大小
reqFTP.ContentLength = fileInf.Length;
// 緩沖大小設置為2kb
int buffLength = 2048;
byte[] buff = new byte[buffLength];
int contentLen;
// 打開一個文件流 (System.IO.FileStream) 去讀上傳的文件
FileStream fs = fileInf.OpenRead();
try
{
// 把上傳的文件寫入流
Stream strm = reqFTP.GetRequestStream();
// 每次讀文件流的2kb
contentLen = fs.Read(buff, 0, buffLength);
// 流內容沒有結束
while (contentLen != 0)
{
// 把內容從file stream 寫入 upload stream
strm.Write(buff, 0, contentLen);
contentLen = fs.Read(buff, 0, buffLength);
}
// 關閉兩個流
strm.Close();
fs.Close();
}
catch (Exception ex)
{
// MessageBox.Show(ex.Message, "Upload Error");
Response.Write("Upload Error:" + ex.Message);
}
}
調用方法
string filename = "D:\\test.txt"; //本地文件,需要上傳的文件
string serverDir = "img"; //上傳到伺服器的目錄,必須存在
Upload(filename,serverDir);
❷ ASP.net在上傳文件時,如何讓其上傳到其它伺服器磁碟上
<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="gb2312" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Collections" %>
<%@ Import NameSpace="System.Web" %>
<script language="VB" runat="server">
sub page_load(Sender As Object, e As EventArgs)
if IsPostBack Then
save_files()
end if
end sub
sub save_files()
dim files as HttpFileCollection =HttpContext.Current.Request.Files
dim strMsg as System.Text.StringBuilder =new System.Text.StringBuilder()
strMsg.Append("上傳的文件分別是:<hr color=red>")
dim fileno as integer
try
for fileno=0 to files.count-1
dim postedfile as HttpPostedFile=files(fileno)
dim filename,fileext as string
filename=System.IO.Path.GetFileName(postedFile.FileName)
if filename<>"" then
fileext = System.IO.Path.GetExtension(fileName)
strMsg.Append("上傳的文件類型:" + postedFile.ContentType.ToString() + "<br>")
strMsg.Append("客戶端文件地址:" + postedFile.FileName + "<br>")
strMsg.Append("上傳文件的文件名:" + fileName + "<br>")
strMsg.Append("上傳文件的擴展名:" + fileext + "<br><hr>")
postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("/temp2/") + fileName)
<!--
注意: temp2是圖片上傳的位置
-->
end if
next fileno
strStatus.Text = strMsg.ToString()
catch Ex as System.Exception
strStatus.Text = Ex.Message
end try
end sub
</script>
<HTML>
<HEAD>
<title>多文件上傳</title>
<script language="JavaScript">
function addFile()
{
var str = '<INPUT type="file" size="50" NAME="File">'
document.getElementById('MyFile').insertAdjacentHTML("beforeEnd",str)
}
</script>
</HEAD>
<body>
<form id="form1" method="post" runat="server" enctype="multipart/form-data">
<div align="center">
<h3>ASP.NET多文件上傳</h3>
<P id="MyFile"><INPUT type="file" size="50" NAME="File"></P>
<P>
<input type="button" value="增加(Add)" onClick="addFile()">
<input onClick="this.form.reset()" type="button" value="重置(ReSet)">
<asp:Button Runat="server" Text="開始上傳" ID="UploadButton"></asp:Button>
</P>
<P>
<asp:Label id="strStatus" runat="server" Font-Names="宋體" Font-Bold="True" Font-Size="9pt"
Width="500px" BorderStyle="None" BorderColor="White"></asp:Label>
</P>
</div>
</form>
</body>
</HTML>
❸ asp.net上傳文件到伺服器指定文件夾問題
#region 文件上傳(普通上傳不生成文件夾)
/// <summary>
/// 文件上傳(普通上傳不生成文件夾)
/// </summary>
/// <param name="hifile">上傳控制項</param>
/叢岩純// <param name="strAbsolutePath">絕對路徑</param>
/// <param name="棗臘TYPE">文件類型(在WebConfig中配置)</param>
/// <param name="FileSize">文件大小單位:Mb(在WebConfig中配置)</param>
/// <returns></returns>
public string SaveFile(HtmlInputFile hifile, string strAbsolutePath, string TYPE, string FileSize)
{
bool filetype = false;
string /*文件的完整路徑*/strOldFilePath = "", /*文件類型*/strExtension = "", /*新文件名稱*/strNewFileName = "";
//如果上傳文件的文件名不為空
if (hifile.PostedFile.FileName != string.Empty)
{
strOldFilePath = hifile.PostedFile.FileName;//文件的完整路徑
Path = strAbsolutePath;//伺服器路徑
//取得上傳文件的擴展名
strExtension = strOldFilePath.Substring(strOldFilePath.LastIndexOf("."滲咐) + 1);
file_type = strExtension;
//文件大小單位Mb
double sizes = hifile.PostedFile.ContentLength / (double)1024.0 / (double)1024.0;//文件大小
this.file_size = sizes.ToString("f4");//文件大小單位Mb精確到小數點後4位
//文件格式
string[] types = TYPE.Split('|');//文件格式集合
for (int i = 0; i < types.Length; i++)
{
if (types[i].ToString().Trim().ToLower() == strExtension.Trim().ToLower())
{ filetype = true; break; }
else { filetype = false; }
}
if (filetype)//判斷文件類型是否錯誤
{
if (sizes < Convert.ToDouble(FileSize))
{
//文件上傳後的命名
strNewFileName = GetUniqueString() + "." + strExtension;
file_name = strNewFileName;
if (!Directory.Exists(strAbsolutePath))//文件的完整路徑
{
Directory.CreateDirectory(strAbsolutePath);//按月份創建文件夾
}
hifile.PostedFile.SaveAs(strAbsolutePath + strNewFileName);//保存文件
return "文件上傳成功!" + file_name;
}
else
{ return "文件大小不能超過" + FileSize + ".00Mb!"; }
}
else
{ return "文件格式錯誤!"; }
}
else
{ return "請選擇要上傳的文件!"; }
}
❹ .net把任意文件的路徑保存到sql資料庫中,並把對應文件上傳到伺服器 代碼怎麼實現
你搜下.net上傳文件,最後會File.saveAs(文件路徑),這樣就會把文件上傳到你想存放的位置,文件路徑你再存儲到資料庫中都可以了
❺ .net上傳EXCEL文件到伺服器導入資料庫,成功上傳,但是導入時找不到文件,是不是導入時路徑有問題
從代碼來看,是先將上傳的文件保存之後,使用Excelds方法來讀取Excel文件中的數據,上傳保存文件和讀取數據的代碼是在同一個代碼段之中執行的,並且有提到「文件能在伺服器上找到」,說明上傳的文件有成功保存,故可以排除savePath值的問題。那麼問題應該是讀取數據這邊的,即Excelds的問題了。從代碼來看,Excelds有兩個參數,目前是傳入了savePath和filename,從此參數的結構來看應該是傳入一個不含文件名的路徑和一個文件名。但是,這里傳入的savePath已經包含了文件名(第一個語句中有加入filename),所有猜測問題應該是傳給Excelds的路徑有問題,不應該包含文件名。
❻ asp.net中文件如何上傳到伺服器上
{ } protected void Button1_Click(object sender, EventArgs e){if (this.filepost.PostedFile.FileName == ""){Response.Write("上傳文件不能為空!");return;}try{string Path = Server.MapPath("upload/");//設置伺服器端路徑 string filePath = this.filepost.PostedFile.FileName;//獲取客戶端實際路徑 string fileName = filePath.Substring(filePath.LastIndexOf("\\")+1);//獲取文件名稱 string serverPath = Path + fileName;//上傳的文件保存到伺服器端的路徑 System.Text.StringBuilder buider = new System.Text.StringBuilder();//上傳的文件信息:可變字元串 buider.Append("上傳文件的類型:"+this.filepost.PostedFile.ContentType.ToString()+""); buider.Append("客戶端文件地址:"+this.filepost.PostedFile.FileName+""); buider.Append("上傳文件名稱:"+fileName); buider.Append("上傳文件的擴展名:"+filePath.Substring(fileName.LastIndexOf(".")+1)); buider.Append("上傳文件的大小:"+this.filepost.PostedFile.ContentLength/1024+"k"+""); if (System.IO.File.Exists(serverPath)){Response.Write("這個文件在伺服器上已經存在,請不要重復上傳!");return;}string str = fileName.Substring(fileName.LastIndexOf(".")+1);//獲取文件後綴名 if (str == "jpg" || str == "rar" || str == "ppt"){Response.Write("對不起,該類型文件不能被上傳!");return;}if (this.filepost.PostedFile.ContentLength >2048){Response.Write("對不起,文件不能超過2K");return;}this.filepost.PostedFile.SaveAs(serverPath);//上傳保存文件