如何將客戶端的文件傳到伺服器
如何使用ftp傳輸文件
首先需要保證對方伺服器配置了FTP服務供大家共享資源(無論是WINDOWS伺服器還是各種版本的Linux系統伺服器),並且設置了相關的登錄賬號(匿名登錄名)以及文件和子目錄的讀寫許可權。然後,如果需要在其他機器上FTP文件,可以安裝一個FTP客戶端程序(一般是CutpFtp、wsftp_pro等。)在這台機器上,然後在FTP客戶端軟體中輸入FTP伺服器的IP地址,然後輸入FTP伺服器需要你提供的用戶名和密碼,就可以傳輸文件了(當然,至於FTP伺服器是否允許用戶上傳文件,允許用戶上傳文件到哪個子目錄,這些都是FTP系統管理員設置的)。如何將文件傳輸到ftp伺服器上?
1、win7系統下可以從「計算機」上登陸FTP上傳文件,先打開「計算機」,在最上方輸入欄中輸入登陸FTP伺服器命令(ftp://ip地址),然後按回車。
2、彈出「登陸界面」後輸入登錄賬戶和密碼,點擊「登錄」。
3、賬號密碼核對成功,就會進入FTP伺服器上目錄列表,如果該賬號許可權足夠大就可以上傳文件到FTP伺服器中了。
ftp與電腦文件互傳方法?
各種方法.1.飛鴿.定位就是區域網內的共享文件,聊天的軟體.使用方法和qq一致.2,各種傳輸協議都可以.如HTTP下載(一個上面開了http服務,另一開http下載).ftp上傳下載.ssh的sftp與scp傳輸都可以.秒殺斷點續傳,實現部分更新的rsync.比較原始的modem協議,也可以.(其他的也都可以歸結到這個裡面來,都是基於XX協議做的)不過既然你問這個,估計上面的你也不清楚.推薦個軟體吧,everything,支持建立http/ftp伺服器,這樣另一端就可以進行搜索+下載.3,遠程桌面/控制的方法這些東西一般都順帶了文件傳輸功能遠程登錄,你就可以訪問了.這是直接使用windows的遠程桌面連接工具就可以.4,win的文件共享最後才想起來這個,打開相應的文件共享.在另一台機器的網上鄰居中就可以打開,進而找到相應的文件,文件夾.摸索下吧,總有一個適合你.win最原生:文件共享簡單傻瓜:飛鴿文件比較瑣碎,不好定位:everything.功能強大,方便自定義:第2種好好研究.
怎麼把本地文件傳到遠程ftp?
很簡單.在本地電腦點開始.運行.輸入mstsc後按確定.然後在彈出的窗口中.輸入IP.此時記得點右下角的"選項"-本地資源.在下方有個"詳細信息".點擊以後.一般有智能卡和串列口兩個選項.其中串列口就是指的本地硬碟.勾選上以後再遠程連接伺服器.遠程成功以後在伺服器中打開"我的電腦".裡面會顯示你本地的電腦硬碟.把你想上傳的文件直接復制到伺服器即可.除此以外.你也可以在伺服器上安裝FTP.然後在本地通過FTP把文件上傳.或者是利用發郵件的方式把文件夾打包發送.並在伺服器上登錄郵件下載.海騰數據楊闖為你解答.希望我的對你有幫助.
ftp傳輸文件指令格式?
ftp://user:[email protected]是用戶名,password是密碼,domain.com是伺服器名或者是伺服器IP地址.
怎麼建一個FTP來傳輸數據?
只要ftp協議的話,大概的實現流程:
1。手機端向ftp伺服器中上傳一個txt文件,文件名代表的是此手機的訪問請求,txt文件中的內容代表請求的范圍;
2。伺服器有ftp監控程序,當發現有新的手機上傳文件,就訪問此文件,識別出文件名(哪個手機),確認文件內容(請求范圍),然後將此文件標記為舊文件,然後根據請求范圍生成數據json文本,根據文件名生成對應的txt數據文件;
3。手機端發現伺服器生成新的結果文件後,讀取此文件,然後解析json文本,得到數據結果即可完成傳輸。
說實話,給定ftp傳輸比較麻煩,難道是無法開通新的埠?
『貳』 java中如何實現從客戶端發送文件到伺服器端
伺服器端源碼:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
/**
*
* 文件名:ServerReceive.java
* 實現功能:作為伺服器接收客戶端發送的文件
*
* 具體實現過程:
* 1、建立SocketServer,等待客戶端的連接
* 2、當有客戶端連接的時候,按照雙方的約定,這時要讀取一行數據
* 其中保存客戶端要發送的文件名和文件大小信息
* 3、根據文件名在本地創建文件,並建立好流通信
* 4、循環接收數據包,將數據包寫入文件
* 5、當接收數據的長度等於提前文件發過來的文件長度,即表示文件接收完畢,關閉文件
* 6、文件接收工作結束
public class ServerReceive {
public static void main(String[] args) {
/**與伺服器建立連接的通信句柄*/
ServerSocket ss = null;
Socket s = null;
/**定義用於在接收後在本地創建的文件對象和文件輸出流對象*/
File file = null;
FileOutputStream fos = null;
/**定義輸入流,使用socket的inputStream對數據包進行輸入*/
InputStream is = null;
/**定義byte數組來作為數據包的存儲數據包*/
byte[] buffer = new byte[4096 * 5];
/**用來接收文件發送請求的字元串*/
String comm = null;
/**建立socekt通信,等待伺服器進行連接*/
try {
ss = new ServerSocket(4004);
s = ss.accept();
} catch (IOException e) {
e.printStackTrace();
}
/**讀取一行客戶端發送過來的約定信息*/
try {
InputStreamReader isr = new InputStreamReader(s.getInputStream());
BufferedReader br = new BufferedReader(isr);
comm = br.readLine();
} catch (IOException e) {
System.out.println("伺服器與客戶端斷開連接");
}
/**開始解析客戶端發送過來的請求命令*/
int index = comm.indexOf("/#");
/**判斷協議是否為發送文件的協議*/
String xieyi = comm.substring(0, index);
if(!xieyi.equals("111")){
System.out.println("伺服器收到的協議碼不正確");
return;
}
/**解析出文件的名字和大小*/
comm = comm.substring(index + 2);
index = comm.indexOf("/#");
String filename = comm.substring(0, index).trim();
String filesize = comm.substring(index + 2).trim();
/**創建空文件,用來進行接收文件*/
file = new File(filename);
if(!file.exists()){
try {
file.createNewFile();
} catch (IOException e) {
System.out.println("伺服器端創建文件失敗");
}
}else{
/**在此也可以詢問是否覆蓋*/
System.out.println("本路徑已存在相同文件,進行覆蓋");
}
/**【以上就是客戶端代碼中寫到的伺服器的准備部分】*/
/**
* 伺服器接收文件的關鍵代碼*/
try {
/**將文件包裝到文件輸出流對象中*/
fos = new FileOutputStream(file);
long file_size = Long.parseLong(filesize);
is = s.getInputStream();
/**size為每次接收數據包的長度*/
int size = 0;
/**count用來記錄已接收到文件的長度*/
long count = 0;
/**使用while循環接收數據包*/
while(count < file_size){
/**從輸入流中讀取一個數據包*/
size = is.read(buffer);
/**將剛剛讀取的數據包寫到本地文件中去*/
fos.write(buffer, 0, size);
fos.flush();
/**將已接收到文件的長度+size*/
count += size;
System.out.println("伺服器端接收到數據包,大小為" + size);
}
} catch (FileNotFoundException e) {
System.out.println("伺服器寫文件失敗");
} catch (IOException e) {
System.out.println("伺服器:客戶端斷開連接");
}finally{
/**
* 將打開的文件關閉
* 如有需要,也可以在此關閉socket連接
* */
try {
if(fos != null)
fos.close();
} catch (IOException e) {
e.printStackTrace();
}//catch (IOException e)
}//finally
}//public static void main(String[] args)
}//public class ServerReceive
客戶端源碼:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.Socket;
/**
*
* 文件名:ClientSend.java
* 實現功能:作為客戶端向伺服器發送一個文件
*
* 具體實現過程:
* 1、建立與伺服器端的連接,IP:127.0.0.1, port:4004
* 2、將文件的名字和大小通過自定義的文件傳輸協議,發送到伺服器
* 3、循環讀取本地文件,將文件打包發送到數據輸出流中
* 4、關閉文件,結束傳輸
*
* */
public class ClientSend {
public static void main(String[] args) {
/**與伺服器建立連接的通信句柄*/
Socket s = null;
/**定義文件對象,即為要發送的文件
* 如果使用絕對路徑,不要忘記使用'/'和'\'的區別
* 具體區別,請讀者自行查詢
* */
File sendfile = new File("API.CHM");
/**定義文件輸入流,用來打開、讀取即將要發送的文件*/
FileInputStream fis = null;
/**定義byte數組來作為數據包的存儲數據包*/
byte[] buffer = new byte[4096 * 5];
/**定義輸出流,使用socket的outputStream對數據包進行輸出*/
OutputStream os = null;
/**檢查要發送的文件是否存在*/
if(!sendfile.exists()){
System.out.println("客戶端:要發送的文件不存在");
return;
}
/**與伺服器建立連接*/
try {
s = new Socket("127.0.0.1", 4004);
}catch (IOException e) {
System.out.println("未連接到伺服器");
}
/**用文件對象初始化fis對象
* 以便於可以提取出文件的大小
* */
try {
fis = new FileInputStream(sendfile);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
/**首先先向伺服器發送關於文件的信息,以便於伺服器進行接收的相關准備工作
* 具體的准備工作,請查看伺服器代碼。
*
* 發送的內容包括:發送文件協議碼(此處為111)/#文件名(帶後綴名)/#文件大小
* */
try {
PrintStream ps = new PrintStream(s.getOutputStream());
ps.println("111/#" + sendfile.getName() + "/#" + fis.available());
ps.flush();
} catch (IOException e) {
System.out.println("伺服器連接中斷");
}
/**
* 此處睡眠2s,等待伺服器把相關的工作準備好
* 也是為了保證網路的延遲
* 讀者可自行選擇添加此代碼
* */
try {
Thread.sleep(2000);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
/**之前的准備工作結束之後
* 下面就是文件傳輸的關鍵代碼
* */
try {
/**獲取socket的OutputStream,以便向其中寫入數據包*/
os = s.getOutputStream();
/** size 用來記錄每次讀取文件的大小*/
int size = 0;
/**使用while循環讀取文件,直到文件讀取結束*/
while((size = fis.read(buffer)) != -1){
System.out.println("客戶端發送數據包,大小為" + size);
/**向輸出流中寫入剛剛讀到的數據包*/
os.write(buffer, 0, size);
/**刷新一下*/
os.flush();
}
} catch (FileNotFoundException e) {
System.out.println("客戶端讀取文件出錯");
} catch (IOException e) {
System.out.println("客戶端輸出文件出錯");
}finally{
/**
* 將打開的文件關閉
* 如有需要,也可以在此關閉socket連接
* */
try {
if(fis != null)
fis.close();
} catch (IOException e) {
System.out.println("客戶端文件關閉出錯");
}//catch (IOException e)
}//finally
}//public static void main(String[] args)
}//public class ClientSend