导航:首页 > 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文件上传到服务器端相关的知识