/** * samba共享文件读取 * * @param smbPath smbPath文件路径 * @param projectCode 项目编号 * @return */ public static ResponseMessage getSambaFile(String smbPath, String projectCode) { ResponseMessage responseEntity = new ResponseMessage(); responseEntity.setFlag(true); try { BioCloudProperties bioCloudProperties = ApplicationContextProvider.getContext().getBean(BioCloudProperties.class); String samplePdfFilePath = bioCloudProperties.getSampleInformationConfig().getSamplePdfFilePath(); String[] sambaConfig = bioCloudProperties.getCustomizationConfig().getSambaConfig(); UniAddress address = UniAddress.getByName(sambaConfig[0]); //sambaConfig[0] 分享者的ip, sambaConfig[1] 认证的用户名, sambaConfig[2] 认证的密码 NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(sambaConfig[0], sambaConfig[1], sambaConfig[2]); SmbSession.logon(address, auth); SmbFile sf = new SmbFile("smb://" + sambaConfig[0] + smbPath, auth); long size = 2 * 1024 * 1024 * 1024; InputStream inputStream = sf.getInputStream(); byte[] bytes = new byte[1024]; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss"); String filePath = String.format("%s/%s", samplePdfFilePath, format.format(new Date())); Files.createDirectories(Paths.get(filePath)); filePath = filePath + File.separator + projectCode + smbPath.substring(smbPath.lastIndexOf(".")); LOG.info("上传到临时目录的文件路径:{}", filePath); FileOutputStream outputStream = new FileOutputStream(filePath); while (inputStream.read(bytes) != -1) { size = size - 1024; if (size < 0) { responseEntity.setFlag(false); break; } outputStream.write(bytes); } responseEntity.setMessage(filePath); outputStream.close(); inputStream.close(); } catch (SmbException e) { LOG.info("smbException:{}", e.getMessage()); responseEntity.setFlag(false); } catch (MalformedURLException e) { LOG.info("MalformedURLException:{}", e.getMessage()); responseEntity.setFlag(false); } catch (UnknownHostException e) { LOG.info("UnknownHostException:{}", e.getMessage()); responseEntity.setFlag(false); } catch (IOException e) { LOG.info("IOException:{}", e.getMessage()); responseEntity.setFlag(false); } return responseEntity; }
相关推荐
* 文件共享:使用Samba服务器共享文件夹和文件 * 打印机共享:使用Samba服务器共享打印机 * 用户认证:使用Samba服务器来认证用户身份 七、Samba服务器优点 * 跨平台兼容性:Samba服务器可以在Linux和Windows之间...
我们可以在 Windows 主机上搜索 Linux 的 IP 地址,然后双击“DUANLINUX”,进入共享文件夹,就可以实现共享文件的增加、删除、复制等功能。 知识点 5: 防火墙设置 在使用 Samba 服务进行文件共享时,我们需要关闭...
麒麟系统SAMBA共享文件使用手册
Linux系统下用Samba工具实现文件共享及共享打印机的配置是指使用Samba工具在Linux系统下实现文件共享和共享打印机的配置,这个过程需要对Samba工具的配置管理、服务器设置、用户管理、共享添加、命令行配置、加密...
在使用 samba 服务时,需要注意防火墙的问题,防火墙可能会阻止共享文件的访问。如果不能访问共享文件,需要停止防火墙服务或配置防火墙规则来允许共享文件的访问。 samba 服务是 Linux 系统中实现文件共享的重要...
SAMBA配置文件共享服务器中常见的问题是文件无法写入和多组权限设置。下面我们将对这两个问题进行详细的分析和解决。 问题1:文件无法写入 在Samba配置文件中,我们可以看到[homes]和[share]两个_section_,它们...
在Windows环境下,可以通过网络映射的方式访问Samba服务器的共享文件。在运行框中输入UNC路径`\\172.172.0.10\home\shareuser`,即可打开共享目录。 总的来说,这个实验旨在让操作者了解如何在Samba服务器上设置...
- 如果需要在 Windows 端使用如 Source Insight 这样的工具编辑位于 Samba 共享中的文件,确保这些工具具有足够的权限访问远程文件。 - 如果遇到错误提示“there was an error opening project.”,这通常意味着...
Samba 也一样能行,比如一台Linux的机器,如果架了Samba Server 后,它能充当共享服务器,同时也能做为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba 服务器; 我们在Windows网络中,看到共享...
本教程将详细讲解如何通过Samba实现跨平台的文件访问,以“samba访问例子1”为例进行演示。 首先,我们要理解Samba的基本概念。Samba是一个开源软件,它实现了SMB/CIFS(Server Message Block/Common Internet File...
3. **读取局域网共享文件**: 在局域网中,通过SAMBA协议,开发者可以编写程序来访问其他计算机上共享的文件和目录。这通常涉及到网络编程,包括处理TCP/IP连接、身份验证、权限控制等。 4. **列表显示子文件夹和...
可以使用 Windows 客户机来访问 Samba 服务器共享的文件夹,实现文件共享的功能。 本文档详细介绍了 CentOS Linux 中 Samba 文件共享服务器的构建过程,包括网络配置、Samba 安装、配置 Samba 服务器和启动 Samba ...
在Windows和Linux操作系统中可以使用Samba来访问共享资源。 1. Linux系统下访问远程共享资源 使用smbclient命令来访问远程共享资源,例如: smbclient //192.168.16.249/test001 -U user001 2. Windows系统下...
在Linux环境中,Samba是一个非常重要的工具,它允许Linux系统与Windows系统之间进行文件和打印服务的共享。本文将详细讲解如何在CentOS系统上安装Samba 4.14.5并进行配置。 首先,我们需要了解Samba的核心概念。...
在Linux环境中,可以使用`smbclient`命令行工具或图形界面的`Nautilus`文件管理器来访问Samba共享。而在Windows系统中,用户可以通过网络邻居或文件资源管理器找到并连接到Samba服务器。在连接时需要提供正确的...
Samba是一种允许用户在装有Windows不同版本的操作系统之间共享文件和打印机的软件包。它能够使Linux/Unix机器充当Windows网络中的一个成员,实现与Windows环境下的文件和打印共享。本文将详细介绍如何配置Samba...
《Samba文件共享详解》 Samba是一款强大的网络文件共享软件,它允许Linux/Unix系统与Windows系统之间进行无缝的数据交换。在这个“samba文件一起来”的主题中,我们将深入探讨Samba的核心概念、功能以及如何在Linux...
Java对Samba进行上传与下载文件的技术主要涉及Java编程、Samba服务器以及jcifs库的使用。Samba是一个开源软件,允许Linux/Unix系统与Windows系统之间进行文件共享,而jcifs是Java的一个库,它提供了对SMB(Server ...
CentOS 7 中 Samba 文件共享配置与实现 本文档将详细介绍 CentOS 7 中 Samba 文件共享的配置和实现,包括 Samba 服务的安装、配置文件的编辑、开机自动启动、防火墙配置、安全策略配置等方面的知识点。 一、Samba ...
SMB协议允许计算机通过网络共享文件、打印机和其他资源。Samba服务器可以作为文件共享服务器,也可以作为Samba客户端,支持NetBIOS协议,确保Windows系统能访问Linux上共享的文件。 安装Samba服务需要安装三个核心...