这是upload类的方法:

public class Upload {

public static String upload(FormFile formfile,String dirPath,int port){

String savePath="";

String ip="";

try{

String filename = formfile.getFileName().trim(); // 文件名

if (!"".equals(filename)) {

InputStream ins = formfile.getInputStream();

String currentPath=dirPath+ File.separatorChar + filename;  //文件保存路径

OutputStream os = new FileOutputStream(currentPath);

int bytesRead = 0;

byte[] buffer = new byte[8192];

while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {

os.write(buffer, 0, bytesRead);

}

boolean isWindows=isWindowsOS();  //判断是否是windows系统

if(isWindows){

InetAddress address=InetAddress.getLocalHost();

ip=address.getHostAddress();  //获取ip地址

System.out.println("windows ip地址:"+ip);

}

else{    //如果是Linux系统

ip=Tools.getLinuxIP();

System.out.println("linux ip地址:"+ip);

}

savePath="http://"+ip+":"+port+"/channelProject/upload/";   //保存到数据库的地址,图片上传到服务器端

savePath+=filename;

os.close();

ins.close();

}

}

catch (Exception e) {

e.printStackTrace();

System.out.println("上传出现错误!!");

}

return savePath;

}

/*

* @return true---是Windows操作系统

*/

public static boolean isWindowsOS(){

boolean isWindowsOS = false;

String osName = System.getProperty("os.name");

if(osName.toLowerCase().indexOf("windows")>-1){

isWindowsOS = true;

}

return isWindowsOS;

}

}

以下是Tools类下的getLinux的方法:

public class Tools {

public static String getLinuxIP() throws SocketException{

//根据网卡取本机配置的IP

Enumeration netInterfaces=NetworkInterface.getNetworkInterfaces();

InetAddress ipAddress = null;

String ip="";

while(netInterfaces.hasMoreElements())

{

NetworkInterface ni=(NetworkInterface)netInterfaces.nextElement();

if(!ni.getName().equals("eth0")){

continue;

}

else{

Enumeration> e2=ni.getInetAddresses();

while(e2.hasMoreElements()){

ipAddress=(InetAddress) e2.nextElement();

if(ipAddress instanceof Inet6Address)

continue;

ip=ipAddress.getHostAddress();

System.out.println("getLinuxIp:"+ip);

}

break;

}

}

return ip;

}

}

java 判断是linux系统_java判断是window系统还是Linux系统,并获取其IP地址及文件上传 | 学步园...相关推荐

  1. linux的常用操作——基于ftp的windows10和腾讯云centos操作系统之间的文件上传和下载

    \qquad在腾讯云服务器的centos操作系统上,安装vsftpd并进行配置,然后基于ftp实现windows10操作系统和腾讯云centos系统之间的文件上传和下载. 文章目录 1.基于腾讯云服务 ...

  2. java 图片上传_java web图片上传和文件上传实例

    本篇文章主要介绍了java web图片上传和文件上传实例,具有一定的参考价值,有需要的可以了解一下. 图片上传和文件上传本质上是一样的,图片本身也是文件.文件上传就是将图片上传到服务器,方式虽然有很多 ...

  3. java web文件上传详解_java web图片上传和文件上传实例详解

    java web图片上传和文件上传 图片上传和文件上传本质上是一样的,图片本身也是文件.文件上传就是将图片上传到服务器,方式虽然有很多,但底层的实现都是文件的读写操作. 注意事项 1.form表单一定 ...

  4. dropzone java实例_Java实现拖拽文件上传dropzone.js的简单使用示例代码

    Java实习生一枚,前端知识薄弱,最近因为工作需要,做了一个拖拽文件上传的功能,发现dropzone.js挺不错的,特地做个笔记. 自己写的拖拽文件至一个按钮上传的功能,前端及java代码如下: js ...

  5. Java实现文件上传阿里OSS

    前言简介 ​ 这边博文实际上想要展现的是一个文件上传阿里OSS的工具类,但是过程是完全实现一个公司根据业务需求去开发实现上传的一个业务需求,综合比较其他博文,这篇博文可能比较罗嗦点.所以根据自身需求来 ...

  6. dropzone.js应用java_拖拽文件上传(Java篇)dropzone.js的简单使用

    java实习生一枚,前端知识薄弱,最近因为工作需要,做了一个拖拽文件上传的功能,发现dropzone.js挺不错的,特地做个笔记. dropzonejs 的官网是:http://www.dropzon ...

  7. java ftp 下载慢_Java实现ftp文件上传下载解决慢中文乱码多个文件下载等问题

    废话不多说了,直接给大家贴代码了,具体代码如下所示: //文件上传 public static boolean uploadToFTP(String url,int port,String usern ...

  8. java图片上传下载_java web 文件上传与下载

    组件工作流程:WEB服务器request ServletFil eupLoad DiskFileItem Factory代表普通字段的FileItem代表上传文件1FileItem代表上传文件2Fil ...

  9. java文件下载用什么技术_Java中实现文件上传下载的三种解决方案(推荐)

    javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 Save 改进后的代码不需要for ...

最新文章

  1. 万字长文解读运营商搏击5G:一场比拼财力的三国杀
  2. php怎么爬取亚马逊的数据,使用PHP从Amazon MWS API获取订单数据
  3. 在access窗体中加图片_Access实战:一种不用按钮控件就能控制子窗体联动的方法...
  4. 多给明年留些钱 明年必将要火的好手机
  5. MySQL结构化查询,SQL结构化查询语言(二)
  6. centos ezhttp mysql_Windows 访问CentOS上Mysq配置说明
  7. dagger2 注入_Android依赖注入– Dagger 2
  8. jenkins使用插件OWASP Dependency-Check Plugin对jar包漏洞扫描
  9. 2021全国大学生数学建模竞赛E题思路
  10. oracle asm 加盘,ASM添加磁盘最佳实践
  11. python没有pygame_pygame安装教程全程详解
  12. 为什么 BI 软件都搞不定关联分析?带你分析分析
  13. python打印100以内质数_python输出100以内的质数与合数实例代码
  14. Java 面向接口编程
  15. 基于腾讯云cvm的云原生环境搭建
  16. 一台电脑绿色安装多个版本google Chorme方案
  17. UnExpected Error, Quitting
  18. 手把手教你画圆锥渐变
  19. STC89C516驱动DS12C887时钟模块
  20. 天气预报API (高德地图)

热门文章

  1. ClickHouse高可用及副本测试
  2. c 语言输出后不关闭_穿书+娱乐圈 |再不跑路就要被迫C位出道了花瓶女配和影帝组CP后豪门娇美人是爽文剧本...
  3. java抢单功能_基于消息队列的高并发抢单功能实现方法与流程
  4. 美团NLP中心算法实习生内推啦!
  5. 论文浅尝 | 基于神经网络的实体识别和关系抽取联合学习
  6. 随机森林RF、XGBoost、GBDT和LightGBM的原理和区别
  7. Linux系统中Oracle数据库使用SELECT语句检索数据(1)实例应用
  8. Android官方开发文档Training系列课程中文版:添加ActionBar之添加Action按钮
  9. Google 与 GitHub 结盟,为保护软件供应链而战!
  10. SpringMVC详细执行流程与组件说明