導航:首頁 > IDC知識 > c文件上傳到伺服器端

c文件上傳到伺服器端

發布時間:2020-12-03 18:11:22

1、如何實現上傳文件到伺服器

common-fileupload是jakarta項目組開發的一個功能很強大的上傳文件組件
下面先介紹上傳文件到伺服器(多文件上傳):
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.util.regex.*;
import org.apache.commons.fileupload.*;

public class upload extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GB2312";
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out=response.getWriter();
try {
DiskFileUpload fu = new DiskFileUpload();
// 設置允許用戶上傳文件大小,單位:位元組,這里設為2m
fu.setSizeMax(2*1024*1024);
// 設置最多隻允許在內存中存儲的數據,單位:位元組
fu.setSizeThreshold(4096);
// 設置一旦文件大小超過getSizeThreshold()的值時數據存放在硬碟的目錄
fu.setRepositoryPath("c://windows//temp");
//開始讀取上傳信息
List fileItems = fu.parseRequest(request);
// 依次處理每個上傳的文件
Iterator iter = fileItems.iterator();
//正則匹配,過濾路徑取文件名
String regExp=".+////(.+)$";
//過濾掉的文件類型
String[] errorType={".exe",".com",".cgi",".asp"};
Pattern p = Pattern.compile(regExp);
while (iter.hasNext()) {
FileItem item = (FileItem)iter.next();
//忽略其他不是文件域的所有表單信息
if (!item.isFormField()) {
String name = item.getName();
long size = item.getSize();
if((name==null||name.equals("")) && size==0)
continue;
Matcher m = p.matcher(name);
boolean result = m.find();
if (result){
for (int temp=0;temp<ERRORTYPE.LENGTH;TEMP++){
if (m.group(1).endsWith(errorType[temp])){
throw new IOException(name+": wrong type");
}
}
try{
//保存上傳的文件到指定的目錄
//在下文中上傳文件至資料庫時,將對這里改寫
item.write(new File("d://" + m.group(1)));
out.print(name+" "+size+"");
}
catch(Exception e){
out.println(e);
}
}
else
{
throw new IOException("fail to upload");
}
}
}
}
catch (IOException e){
out.println(e);
}
catch (FileUploadException e){
out.println(e);
}

}
}
現在介紹上傳文件到伺服器,下面只寫出相關代碼:
以sql2000為例,表結構如下:
欄位名:name filecode
類型: varchar image
資料庫插入代碼為:PreparedStatement pstmt=conn.prepareStatement("insert into test values(?,?)");
代碼如下:
。。。。。。
try{
這段代碼如果不去掉,將一同寫入到伺服器中
//item.write(new File("d://" + m.group(1)));

int byteread=0;
//讀取輸入流,也就是上傳的文件內容
InputStream inStream=item.getInputStream();
pstmt.setString(1,m.group(1));
pstmt.setBinaryStream(2,inStream,(int)size);
pstmt.executeUpdate();
inStream.close();
out.println(name+" "+size+" ");
}
。。。。。。
這樣就實現了上傳文件至資料庫

2、c#在c/s模式下如何發送文件到伺服器?

多種
1:建立共享目錄,直接copy進去。(不是很安全)
2:建立ftp,使用網路方法傳送上去專。(也不是很安全屬)
3:伺服器運行Server端,本機使用WinSock使用TCP/IP傳送過去(安全,但代碼量高,伺服器也需要運行程序)

等等吧,建議的方法是第三種,在伺服器上建立一個服務,用來接收文件。

3、c/s下,上傳的文件放在伺服器好么?

cs模式,當然放伺服器,不然Client2要下載Client1的文件,難道還要去連接Client1?
那不就變成點到點模式了

4、求想做C/S一個客戶端文件上傳到伺服器端的代碼、實現的思路。謝謝。QQ 277385502

你是上傳到http伺服器,還是ftp伺服器、

5、c#如何實現將文件上傳到伺服器?求詳細代碼?謝了

<tr>
<td width="60%" align="right">
<asp:FileUpload ID="UserFile" runat="server" />
</td>
<td align="left" >

<asp:Button ID="UserImport" runat="server" Text="學生人員信息導入"
onclick="UserImport_Click" />
</td>
</tr>
protected void UserImport_Click(object sender, EventArgs e)
{

string fileName = UserFile.FileName; 獲取上傳的文件的名稱
string path = Server.MapPath("~/ImportExcelFile/"); //存儲在伺服器的路徑
if (!Directory.Exists(path)) //判斷路徑是否存在 不存在創建
{
Directory.CreateDirectory(path);
}
string savePath = path + fileName; 這是 文件保存到伺服器 文件的整體路徑
UserFile.SaveAs(savePath); 上傳保存OK
}

簡單易懂明白了嗎?
希望幫到你

6、如何把文件上傳到另外一台伺服器 詳細

假設A 是你web 站點的伺服器 B 是你要上傳文件的伺服器 1、在B 伺服器上共享一個文件夾upload,並設置好許可權 開設用戶test 密碼123456 並給予test 對upload 的寫入許可權,同時在該文件夾里放入一個簡單的頁面,隨便什麼都行,輸出幾個字母就可以了【B 伺服器上的操作 over】 2、 在A 伺服器web 站點下面建立一個虛擬目錄,默認加虛擬目錄的時候是沒得選擇其他伺服器的共享文件夾的,你先隨便選擇一個本地的路徑,建立好之後,點擊該 虛擬目錄的屬性,在更改本地路徑的上面,有3 個選擇,你選擇「另一台計算機上的共享」,接著設置網路路徑,格式是這樣的:\{伺服器}\{共享名}, {伺服器}用IP來代替,{共享名}就是那個upload 文件夾,填好之後點擊後面的「連接用戶」,輸入剛才在B 伺服器上用戶test 和密碼 123456(當然,簡單一點,你最好先測試一下,確定A 伺服器能訪問B 伺服器共享的文件夾,如果A 都不能訪問B 的共享,那你先解決這個問題先,測試的方 法很簡單,在瀏覽器里輸入\B 伺服器的IP\upload,如果能輸入用戶和密碼之後能看到你剛才隨便建的那個文件,OK,共享是可以訪問的) 3、虛擬目錄設置好了之後,你可以測試一下,在A的 web 站點下面通過程序獲取一下虛擬目錄的路徑,如果是成功的,路徑應該是伺服器B 的IP+upload 文件夾。 一種方式:還是通過A 伺服器web 站點下面的虛擬目錄來訪問,這種情況下,B 伺服器只是提供空間 另一種方式:在B 伺服器上建立一個站點,指向該目錄,這樣B 伺服器分擔了訪問文件時IIS 的工作任務 文件上傳保存: SaveAs(Server.MapPath("abc") + "\" + filePath.Substring(filePath.LastIndexOf("\") + 1)); //abc 為程序運行站點或者虛擬目錄下的虛擬目錄 文件瀏覽: DownloadFile(Server.MapPath("abc") + "//abc.txt"); //abc.txt 為B 伺服器上的文件 private void DownloadFil e(string physicalFi lePath) { Fil eStream stream = null; try { stream = n ew Fil eStream(physicalFil ePath, F ileMode.Open, Fil eAcc ess.R ead, Fi leShare.Read); int bufSize = (int)stream. Length; byt e[] buf = new byte[bufSize]; int bytesRead = stream.Read(buf, 0, bufSiz e); HttpContext.Current.Response.C ontentType = "applic ation/octet-stream"; // attachment 是以附件的形式下載,也可以改為online在線找開. HttpContext.Current.Response.AppendHeader("Content -Disposition", "attachment;fil ename=" + HttpUtility.UrlEncode(System.IO. Path. GetFil eName(physic alFil ePath), Syst em. Text.Encoding.UTF8)); HttpContext.Current.Response.OutputStream.Write(buf, 0, bytesRead); HttpContext.Current.Response.End(); } final ly { stream.Clos e(); } }

7、怎麼用C實現Http POST功能向Http伺服器上傳文件

super viewDidLoad];
webview.backgroundColor = [UIColor clearColor];
webview.scalesPageToFit =YES;
webview.delegate =self;
NSURL *url =[[NSURL alloc] initWithString:@"http://www.google.com.hk/m?gl=CN&hl=zh_CN&source=ihp"];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
[webview loadRequest:request];
}

8、C/S程序如何上傳圖片文件到伺服器?

以文件形式保存在一個文件夾里,文件名用GUID方式命名

9、如何在客戶端把文件上傳到伺服器端的共享文件夾?c#

1.假如你的伺服器是2k操作系統,那麼在客戶端直接運行
\\server\c$
打開伺服器專c盤,如果2k伺服器賬戶設置了密碼屬,這里還要輸入密碼.其中server為2k的伺服器名,對應的改為你的伺服器名字
然後把文件直接復制到\\server\c$即可.(其實這是2k的一個可笑的漏洞)
2.伺服器如果是xp,2003.vista,以上方法就不行了.
(1)可以在伺服器上安裝個QQ,客戶機的QQ給伺服器的QQ傳文件.
(2)伺服器安裝ftp服務端軟體,客戶機通過ftp上傳到c盤
(3)開啟伺服器c盤共享(可寫),客戶端通過共享上傳.
(4)第三方網盤中轉,郵箱中轉
每一種方法都可以.給你個思路.其中用QQ傳最簡單.不需要你做復雜的配置.推薦

10、怎麼上傳文件到linux伺服器

windows系統
putty遠程工具來
winscp軟體
1.在windows系統下下載自putty軟體,它能遠程連接到linux伺服器上,下載安裝包後解壓會得到以下的目錄結構

2.將上述文件夾中的pscp.exe文件復制到系統C:\Windows\System32目錄結構下,保證用dos訪問得到。

3.按住win+r鍵,輸入cmd調出dos窗口,在窗口中按照以下格式輸入:
pscp 文件在windows系統的路徑 linux系統用戶名@伺服器Ip:/保存的路徑
舉個例子:pscp a.txt [email protected]:/home/ubuntu

4.之後點擊回車,在輸入伺服器密碼後,文件就傳輸過去啦,可在linux伺服器對應的目錄上找到相應的文件了。

5.當然還有一種更簡單的方法,在windows系統上安裝winscp軟體,運行後如圖所示

6.輸入用戶名密碼後,登陸成功進入文件系統,圖形化界面操作,直接對要傳輸的文件進行拖拽處理,文件就很順利的傳輸到伺服器上了.

與c文件上傳到伺服器端相關的知識