文件上傳
A. 文件上傳
上傳文件時首先通過上傳控制項找到所需上傳的文件,然後獲取文件的大小,最後以流的形式寫入資料庫,具體代碼為:
private void Btn_OK_Click(object sender, System.EventArgs e)
{
string name=name_TextBox.Text;
//接收上傳文件
Stream fileStream=File1.PostedFile.InputStream;
//獲取上傳文件位元組的大小
int length=File1.PostedFile.ContentLength;
byte[] wordData=new byte[length];
//從流中讀取位元組並寫入wordData
int n=fileStream.Read(wordData,0,length);
//獲取當前時間
DateTime time=DateTime.Now;
//連接資料庫
SqlConnection conn=new SqlConnection();
conn.ConnectionString="workstation id=TIANCHUNZHU;packet size=4096;integrated security=SSPI;data source=TIANCHUNZHU;persist security info=False;initial catalog=test";
SqlCommand cmd=new SqlCommand();
cmd.Connection=conn;
cmd.CommandText="INSERT INTO word (fileName,postTime,fileContent) values (@fileName,@postTime,@fileContent)";
SqlParameter nameParam=new SqlParameter("@fileName",System.Data.SqlDbType.VarChar,50);
nameParam.Value=name;
cmd.Parameters.Add(nameParam);
SqlParameter timeParam=new SqlParameter("@postTime",System.Data.SqlDbType.DateTime,8);
timeParam.Value=time;
cmd.Parameters.Add(timeParam);
//添加word文件
SqlParameter contentParam=new SqlParameter("@fileContent",System.Data.SqlDbType.Image); ①//見本段最後註解
contentParam.Value=wordData;
cmd.Parameters.Add(contentParam);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
注①:此處由於是Image類型文件,事先可能無法預測文件的大小,因此可不必指定size參數。如果希望控制上傳文件的大小則可以輸入size參數。如指定1000,則上傳時最大可以上傳1k的word文檔。
(3) 從資料庫中讀取數據並恢復為word文件
讀取數據時先將數據從資料庫中讀入緩沖區,然後再從緩沖區寫入最終文件。因此首先要開辟一個緩沖區並設定它的大小,每當緩沖區讀滿時就要將緩沖區內的數據寫入文件,以清空緩沖區並繼續向緩沖區讀數據,直到最後一次將緩沖區內剩餘的數據全部寫入文件,新的word文檔即可生成。
由於這一部分用到了位元組流的輸入輸出操作,因此要引用System.IO命名空間
下面是關於這一部分的完整代碼:
private void Btn_get_Click(object sender, System.EventArgs e)
{
//連接資料庫
SqlConnection conn=new SqlConnection();
conn.ConnectionString="workstation id=TIANCHUNZHU;packet size=4096;integrated security=SSPI;data source=TIANCHUNZHU;persist security info=False;initial catalog=test";
SqlCommand cmd=new SqlCommand();
cmd.Connection=conn;
//根據TextBox中指定的文件名進行查找讀取
cmd.CommandText="select fileContent from word where fileName='"+name_TextBox.Text.ToString()+"'";
FileStream fs;
BinaryWriter bw;
//設定允許讀取到緩沖區的最大長度
int buffersize=100;
//要將位元組流讀入的緩沖區
byte[] outbyte=new byte[buffersize];
//用於記錄已經讀取的位元組數
long reval;
//欄位中的索引,從這里開始讀取操作
long startIndex;
//FileStream對象將封裝的文件的相對路徑或絕對路徑
string filePath=@"C:\wordData.doc";
conn.Open();
SqlDataReader reader;
reader=cmd.ExecuteReader();
while (reader.Read())
{
fs=new FileStream(filePath,FileMode.OpenOrCreate,FileAccess.Write);
bw=new BinaryWriter(fs);
startIndex=0;
//將位元組流讀入outbyte緩沖區中並返回讀取的位元組數
reval=reader.GetBytes(0,startIndex,outbyte,0,buffersize);
//當讀取的位元組流達到緩沖區允許的最大長度時要卸載緩沖區內的數據並將數據寫入文件
while (reval==buffersize)
{
bw.Write(outbyte);
bw.Flush();
//重新設定開始讀取的位置,並繼續讀取和寫數據
startIndex+=buffersize;
reval=reader.GetBytes(0,startIndex,outbyte,0,buffersize);
}
//將緩沖區內最後剩餘的數據寫入文件
bw.Write(outbyte,0,(int)reval-1);
bw.Flush();
bw.Close();
fs.Close();
}
reader.Close();
conn.Close();
}
此時將按照filePath中指定的路徑和名稱重新生成word文檔。可以在filePath中根據具體情況指定生成的word文檔的名稱和路徑。
B. 上傳文件是什麼意思如何上傳
就是將本地計算機上的文件通過internet傳送到internet伺服器上的過程。
你首先要在網上找一個支持文件上傳的伺服器,比如網路U盤、免費空間、校友錄相冊等等。然後根據伺服器的不同要求,用不同的方法上傳文件到伺服器。
C. 電腦怎樣上傳圖片文件
一,把數碼相機用USB連接電腦,然後在我的電腦中的可移動磁碟中找到相機的文件夾,把裡面的照片復制或剪切,然後粘貼在你想放置的文檔里.
二,在WORD中打開你的文檔中的文字,然後想在插入圖片的部位按滑鼠,再點插入,點圖片,在文件夾中找出要插入的照片點確定就行了.
您可以用兩種方法上傳照片:單張上傳、打包批量上傳。
(1)登錄相冊並點擊主菜單中的"我的相冊"進入您的相冊列表。
(2)點擊列表右上角的"上傳照片"按鈕,或者從相冊列表中選擇進入某一個相冊後點擊右上角的"上傳照片"按鈕。
(3)選擇好照片或壓縮文件,輸入照片名稱和照片描述等,點擊"上傳"就可以將照片直接上傳,上傳的壓縮文件將由系統在後台解壓縮成單張照片。
注意:(1)網路相冊一般支持您上傳gif、jpg、格式的圖片;
(2)您上傳的照片沒有尺寸限制;
(3)單張照片上傳時,每張照片必須小於1兆,如果是QQ會員,可以上傳不限制大小的照片;
(4)打包批量上傳照片時,目前公支持上傳zip格式的壓縮文件,每個壓縮文件必須小於5兆,壓縮文件里的每張照片不能大於1兆。
D. 怎樣上傳文件到網站
你說的很模糊,不知道你是上傳文件到自己的網站,還是別人的網站
1、如果你上傳到自己的網站的話,有兩種情況:(1)如果是網頁或者資源可以通過ftp這個軟體(2)如果是文章之類的,一般的網站都有自己的後台系統
2、如果是傳到別人的網站,一般的網站如果允許你上傳的話都有專門的通道去上傳的。
E. 前端上傳文件的幾種方法
1.表單上傳
最傳統的圖片上傳方式是form表單上傳,使用form表單的input[type=」file」]控制項,打開系統的文件選擇對話框,從而達到選擇文件並上傳的目的。
form表單上傳
表單上傳需要注意以下幾點:
(1).提供form表單,method必須是post。
(2).form表單的enctype必須是multipart/form-data。
javascript學習交流群:453833554
enctype 屬性規定在發送到伺服器之前應該如何對表單數據進行編碼。默認地,表單數據會編碼為 "application/x-www-form-urlencoded"。就是說,在發送到伺服器之前,所有字元都會進行編碼。HTML表單如何打包數據文件是由enctype這個屬性決定的。enctype有以下幾種取值:
application/x-www-form-urlencoded:在發送前編碼所有字元(默認)(空格被編碼為』+』,特殊字元被編碼為ASCII十六進制字元)。
multipart/form-data:不對字元編碼。在使用包含文件上傳控制項的表單時,必須使用該值。
text/plain:空格轉換為 「+」 加號,但不對特殊字元編碼。
默認enctype=application/x-www-form-urlencoded,所以表單的內容會按URL規則編碼,然後根據表單的提交方法:
method=』get』 編碼後的表單內容附加在請求連接後,
method=』post』 編碼後的表單內容作為post請求的正文內容。
F. 怎麼上傳文件
方法一.
下個FTP軟體,
打開FTP,點擊菜單欄下面的站點管理器,把你的域名,密碼填好後,點連接
左邊是你本地文件,點下拉按扭,找到你本地定義的站點,將其直接拖動到右邊它就會自動上傳了
方法二.
是所謂的 WEB 上傳方式,再就是 FTP 上傳了。前者相對後者較好掌握,而且各網站也不盡相同,上傳效率也不高; FTP 上傳是非常常用的一種上傳方式,包括好多收費的空間的上傳方式也是 FTP 上傳,它效率高,而且用一些軟體上傳的話,還能支持斷點續傳,這對上傳一些較大的文件是非常有好處的 —— 不至於因為網速不穩定而造成白白浪費時間和網費。下面就講一下 FTP 上傳的過程。
象操作本地文件夾一樣簡單
以本站為例,講一下 FTP 上傳的過程:上傳前先要弄清楚三個問題 —— 主機地址、用戶名和密碼,只要知道這三項,上傳就會變得非常簡單。首先打開 IE ,在地址欄里輸入 「ftp://ftp.nease.net」 ,注意雙斜線前是 「ftp」 ,然後稍等片刻,會彈出一個對話框,這個對話框就是要你輸入用戶名和密碼的,在用戶名欄中輸入 「您在網易個人空間注冊的用戶名」, 在密碼欄中輸入 「**********」 ,然後回車,等著吧,奇跡出現了:瀏覽器窗口好像是變成了一個文件夾窗口,其實,它現在就是一個文件夾窗口,你可以 、 cut 、 paste ,也可以直接拖拽,把你要上傳的文件真接拖拽到這個窗口裡,你甚到可以直接在這個窗口裡像操作其它文件一樣進行一下修改,怎麼樣,是不很簡單!
方法三.
CuteFTP 就是一種很好的支持斷點續傳的軟體,下面就講述一下它的用法。
目前最新的是 CuteFTP4.2 ,就以它為例講一下。首先打開 CuteFTP ,打開主窗口的同時會彈出一個浮動的窗口,在這個窗口右側是需要往裡填的幾個文本框,從上到下依次為:名字、主機地址、用戶名、密碼和埠。在名字那項隨便取個名字,這跟上傳的內容無關,僅僅是為了管理用的,下次上傳的時候你直接在左側雙擊這個名字就行了,不用再把所有的項重新填一次。仍以本站為例:在主機欄里填入 「ftp.nease.net」 ,在用戶名那欄里填入 「您在網易個人空間注冊的用戶名」 ,在密碼那欄里填入 「**********」 ,埠欄里一般不用管,用默認的 「 21」 就行了,然後點下面的 「Connect」 按鈕,等著吧,如果正常一會就會出現管理窗口了,下面的操作可以通過拖拽來實現,左面的窗口是本地機的文件,右面就是你要上傳的主機里的文件了。注意:當出現源文件和目標文件同名時會彈出一個窗口,有三個按鈕 ——「resume( 續傳 )」 、 「overwrite( 覆蓋 )」 和 「rename( 重命名 )」 ,選相應按鈕就行了。後面還有一個 all 復選框,選中後,再出現同種情況就不會再彈出了,而是根據這次的選擇來處理。
怎麼樣!很簡單吧!再說一次:不管用什麼方法上傳,你要知道三件事:主機地址、用戶名和密碼。
G. 怎麼上傳文件
在互聯網上要想上傳文件,你可以用多種方法,比如說你可以用QQ來上傳文件,也可以用FTP伺服器來上傳。
H. 上傳文件指的是什麼上傳什麼樣的文件
把電腦里的東西上傳給新浪,比如圖片、歌曲、文章等等。
I. 電腦如何上傳文件
是要把文件從電腦傳到哪兒呢?如果是電腦其它盤符,復制粘貼就行,如果是傳到U盤之類的,也是一樣,如果是手機,可以藍牙,可以USB數據線,還可以同QQ微信等這些應用,不同使用場景方法不一樣
J. 如何上傳文件
FTP(File Transfer Protocol)是 Internet 上用來傳送文件的協議(文件傳輸協議)。它是為了我們能夠在 Internet 上互相傳送文件而制定的的文件傳送標准,規定了 Internet 上文件如何傳送。也就是說,通過 FTP 協議,我們就可以跟 Internet 上的 FTP 伺服器進行文件的上傳(Upload)或下載(Download)等動作。
和其他 Internet 應用一樣,FTP 也是依賴於客戶程序/伺服器關系的概念。在 Internet 上有一些網站,它們依照 FTP 協議提供服務,讓網友們進行文件的存取,這些網站就是 FTP 伺服器。網上的用戶要連上 FTP 伺服器,就要用到 FPT 的客戶端軟體,通常 Windows 都有「ftp」命令,這實際就是一個命令行的 FTP 客戶程序,另外常用的 FTP 客戶程序還有 CuteFTP、Ws_FTP、FTP Explorer等。
要連上 FTP 伺服器(即「登陸」),必須要有該 FTP 伺服器的帳號。如果是該伺服器主機的注冊客戶,你將會有一個 FTP 登陸帳號和密碼,就憑這個帳號密碼連上該伺服器。但 Internet 上有很大一部分 FTP 伺服器被稱為「匿名」(Anonymous)FTP 伺服器。這類伺服器的目的是向公眾提供文件拷貝服務,因此,不要求用戶事先在該伺服器進行登記注冊。
Anonymous(匿名文件傳輸)能夠使用戶與遠程主機建立連接並以匿名身份從遠程主機上拷貝文件,而不必是該遠程主機的注冊用戶。用戶使用特殊的用戶名「anonymous」和「guest」就可有限制地訪問遠程主機上公開的文件。現在許多系統要求用戶將Emai1地址作為口令,以便更好地對訪問進行跟綜。出於安全的目的,大部分匿名FTP主機一般只允許遠程用戶下載(download)文件,而不允許上載(upload)文件。也就是說,用戶只能從匿名FTP主機拷貝需要的文件而不能把文件拷貝到匿名FTP主機。另外,匿名FTP主機還採用了其他一些保護措施以保護自己的文件不至於被用戶修改和刪除,並防止計算機病毒的侵入。在具有圖形用戶界面的 WorldWild Web環境於1995年開始普及以前,匿名FTP一直是Internet上獲取信息資源的最主要方式,在Internet成千上萬的匿名PTP主機中存儲著無以計數的文件,這些文件包含了各種各樣的信息,數據和軟體。 人們只要知道特定信息資源的主機地址, 就可以用匿名FTP登錄獲取所需的信息資料。雖然目前使用WWW環境已取代匿名FTP成為最主要的信息查詢方式,但是匿名FTP仍是 Internet上傳輸分發軟體的一種基本方法。
全有網推薦兩款比較實用方便的FTP工具:Cutftp【CuteFTP Pro V7.1 Build 06.07.2005.1 官方簡體中文包下載地址:http://www4.skycn.com/soft/15789.html】FlashFtp【FlashFXP V3.2.0.1080 漢化版(烈火版)下載地址:http://www4.skycn.com/soft/22415.html】