java中怎么把文件上传到服务器的指定路径?

java中怎么把文件上传到服务器的指定路径?,第1张

文件从本地到服务器的功能,其实是为了解决目前浏览器不支持获取本地文件路径。不得已而想到上传到服务器的固定目录,从而方便项目获取文件,进而使程序支持EXCEL批量导入数据。

java中文件上传到服务器的指定路径的代码:

在前台界面中输入:

<form method="post" enctype="multipart/form-data"  action="/manage/excelImportdo">

请选文件:<input type="file"  name="excelFile">

<input type="submit" value="导入" onclick="return impExcel();"/>

</form>

action中获取前台传来数据并保存

/

excel 导入文件

@return

@throws IOException

/

@RequestMapping("/usermanager/excelImportdo")

public String excelImport(

String filePath,

MultipartFile  excelFile,>

loginfo("<<<<<<action:{} Method:{} start>>>>>>","usermanager","excelImport" );

if (excelFile != null){

String filename=excelFilegetOriginalFilename();

String a=requestgetRealPath("u/cms/>

SaveFileFromInputStream(excelFilegetInputStream(),requestgetRealPath("u/cms/>

}

loginfo("<<<<<<action:{} Method:{} end>>>>>>","usermanager","excelImport" );

return "";

}

/

将MultipartFile转化为file并保存到服务器上的某地

/

public void SaveFileFromInputStream(InputStream stream,String path,String savefile) throws IOException

{    

FileOutputStream fs=new FileOutputStream( path + "/"+ savefile);

Systemoutprintln("------------"+path + "/"+ savefile);

byte[] buffer =new byte[10241024];

int bytesum = 0;

int byteread = 0;

while ((byteread=streamread(buffer))!=-1)

{

bytesum+=byteread;

fswrite(buffer,0,byteread);

fsflush();

}

fsclose();

streamclose();

}

假设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(ServerMapPath("abc") + "\" + filePathSubstring(filePathLastIndexOf("\") + 1)); //abc 为程序运行站点或者虚拟目录下的虚拟目录 文件浏览: DownloadFile(ServerMapPath("abc") + "//abctxt"); //abctxt 为B 服务器上的文件 private void DownloadFil e(string physicalFi lePath) { Fil eStream stream = null; try { stream = n ew Fil eStream(physicalFil ePath, F ileModeOpen, Fil eAcc essR ead, Fi leShareRead); int bufSize = (int)stream Length; byt e[] buf = new byte[bufSize]; int bytesRead = streamRead(buf, 0, bufSiz e); > *** 作是很简单的。
第一种方法是用Finder,点击屏幕顶端菜单栏中的Go,在下拉菜单中选择连接到服务器,接着在对话框里输入FTP地址、用户名、密码,登陆后,Finder便会出现FTP的盘符,将你的文件拖进取就可以了,好象使用U盘一样。不过Finder速度比较慢。
第二种方法,使用FTP上传软件,这里推荐Transmit,点击
>如果你的服务支持WEB登陆,你可以不使用FTP软件啊,
登陆WEB方法:
ftp://你的服务器IP或网址/web/
FTP软件一般都会选择cuteftp,使用教程
>xcopy如何把本地文件复制到远程服务器
1net use \\IP地址 密码/user:
2xcopy 文件 \\IP地址\
批处理文件为backupbat,其代码如下:
=========================================================================================
net use \\1921681198\ipc$ Zqf198703 /user:royalpeak
xcopy g:\backup\ \\1921681198\数据备份 /D /E /Y /H /K
net use \\1921681198\ipc$ /delete
用Xcopy命令可以做到
xcopy 源路径 目标路径
复制文件和目录,包括子目录。
语法
xcopy Source [Destination] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:mm-dd-yyyy]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a|/m}] [/n] [/o] [/x] [/exclude:file1[+[file2]][+[file3]] [{/y|/-y}] [/z]
参数
Source
必需的。指定要复制的文件的位置和名称。该参数必须包含驱动器或路径。
Destination
指定要复制的文件的目标。该参数可以包含驱动器盘符和冒号、目录名、文件名或者它们的组合。
/w
在开始复制文件之前将显示以下消息并等待您的响应:
Press any key to begin copying file(s)
/p
提示您确认是否要创建每个目标文件。
/c
忽略错误。
/v
在写入目标文件时验证每个文件,以确保目标文件与源文件完全相同。
/q
禁止显示 xcopy 消息。
/f
复制时显示源文件名和目标文件名。
/l
显示要复制的文件列表。
/g
创建解密的目标文件。
/d[:mm-dd-yyyy]
只复制那些在指定日期或指定日期之后更改过的源文件。如果不包括 mm-dd-yyyy 值,xcopy 会复制比现有 Destination 文件新的所有 Source 文件。该命令行选项使您可以更新更改过的文件。
/u
只从 source 复制 destination 中已有的文件。
/i
如果 Source 是一个目录或包含通配符,而 Destination 不存在,xcopy 会假定 destination 指定目录名并创建一个新目录。然后,xcopy 会将所有指定文件复制到新目录中。默认情况下,xcopy 将提示您指定 destination 是文件还是目录。
/s
复制非空的目录和子目录。如果省略 /s,xcopy 将在一个目录中工作。
/e
复制所有子目录,包括空目录。同时使用 /e、/s 和 /t 命令行选项。
/t
只复制子目录结构(即目录树),不复制文件。要复制空目录,必须包含 /e 命令行选项。
/k
复制文件,如果源文件具有只读属性,则在目标文件中保留该属性。默认情况下,xcopy 会删除只读属性。
/r
复制只读文件。
/h
复制具有隐藏和系统文件属性的文件。默认情况下,xcopy 不复制隐藏或系统文件。
/a
只复制那些具有存档文件属性设置的源文件。/a 不修改源文件的存档文件属性。有关如何通过使用 attrib 来设置存档文件属性的信息,请参阅"相关主题"

步骤如下:
1、确保项目在MyEclipse上能够正常运行。
2、在Tomcat安装目录下的webapp目录中新建一个文件夹。
3、将META-INF文件夹、WEB-INF文件夹及所有的前端代码复制到第2步新建的文件夹中。
4、将build中的classes文件夹复制到WEB-INF文件夹中。
5、启动Tomcat即可访问,外网使用IP+端口也可以访问。

WIN服务器 *** 作比较简单上传数据有多种方法:
一把上传的文件打压缩包,利用发送邮箱附件的功能发到另一邮箱然后在服务器上登录邮箱下载
二把数据上传到百度网盘或者微云在服务器上面登录下载
三远程登录服务器时通过选项里面的本地磁盘映射功能把本地磁盘映射到服务器上面登录服务器并访问本地磁盘把数据复制到服务器磁盘即可
四在服务器上面搭建FTP,然后在本地电脑登录FTP上传数据


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12737161.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存