黑马程序员技术交流社区

标题: 如何保证客户端上传的文件和服务端保存的文件名相同 [打印本页]

作者: kevinmesss.tz    时间: 2014-4-4 22:49
标题: 如何保证客户端上传的文件和服务端保存的文件名相同
毕老师上传图片重名的视频里
客户端上传了一个1.JPG
而服务端直接new File(1.jpg);
现实应用中上传的文件名是相同的
那服务端那边怎么知道客户端上传的文件名是什么?
作者: 水蓝    时间: 2014-4-4 23:39
服务端也可以new一个File对象:
例如:
  1. File copyFile = new File("1.JPG"); //注意,这边只在内存中新建一个文件对象。不会操作硬盘之类的外部存储。
  2. copyFile.exists(); //这边调用File的exists()方法判断文件在外部存储上是否已存在。
复制代码


补充一下:
如果想通过File对象在外部存储上新建文件或文件夹,可以通过如下方法实现:
  1. copyFile.createNewFile();        //新建文件
  2. copyFile.mkdir();                                //新建单个文件夹
  3. copyFile.mkdirs();                                //如果要新建多层次文件夹路径,则调用mkdirs
复制代码

作者: kevinmesss.tz    时间: 2014-4-5 12:38
水蓝 发表于 2014-4-4 23:39
服务端也可以new一个File对象:
例如:

我的意思是服务端怎么获取客户端上传的文件名
你的代码new File(1.jpg)的时候就已经默认你知道了客户端上传的文件名是1.jpg了
我想要的状态是我上传了一个图片数据.jpg 服务端保存的名字也是图片数据.ipg
而我上传的是1.jpg的时候,服务端保存的也是1.jpg。你这个是判断上传文件重名之后的做法吧
作者: 水蓝    时间: 2014-4-5 15:44
kevinmesss.tz 发表于 2014-4-5 12:38
我的意思是服务端怎么获取客户端上传的文件名
你的代码new File(1.jpg)的时候就已经默认你知道了客户端上 ...

老师这段视频中,说的TCP或UDP协议,都属于传输层协议。
老师的演示,只是在示范一个网络通信的模型。

这边,网络报文中到底传输的是文字(比如文件名)还是文件(比如文件内容),不是在传输层区分的。
具体区分文件名和文件内容,需要上一层(也就是应用层)的协议来实现。

建议你继续往后看,等看到方立勋老师关于Servlet部分的视频内容时,应该就会有所领悟了哈。
作者: kevinmesss.tz    时间: 2014-4-5 17:31
水蓝 发表于 2014-4-5 15:44
老师这段视频中,说的TCP或UDP协议,都属于传输层协议。
老师的演示,只是在示范一个网络通信的模型。

谢谢了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2