linux搭建smb文件共享服务,java上传文件共享服务器,tomcat端口直接访问
来源:互联网 发布:淘宝买二手手机靠谱吗 编辑:程序博客网 时间:2024/05/29 02:26
html上传文件<input type="file" id="up_imgEn" name="up_imgEn" class="form-control" ng-model="up_imgEn" /><input type="file" id="up_img" name="up_img" class="form-control" ng-model="up_img" />上传文件jsvar img = $("#up_img").val();var imgEn = $("#up_imgEn").val();$.ajaxFileUpload({ async: true, url: "/bi_gamePlatform/add", type: 'post', dataType: 'JSON', fileElementId:['up_img','up_imgEn'], data: { img:img, imgEn:imgEn }, success: function(data){ //防止表单重提交 $("#addGamePlatformSubmit").attr("disabled", false); $translate(data.msg).then(function(msg) { SweetAlert.swal({ title: msg, type: data.code=='200'?'success':'error' }); }) $modalInstance.close(); }, error: function() { //防止表单重提交 $("#addGamePlatformSubmit").attr("disabled", false); $modalInstance.close(); }});
@RequestMapping(value="add",method = RequestMethod.POST)public Response add(HttpServletRequest request, GamePlatform platform) { MssStaff staff = SecurityUtils.getCurrentUser(request); try { MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; // 取得request中的所有文件名 Iterator<String> iter = multiRequest.getFileNames(); while (iter.hasNext()) { //.... String fileName = iter.next(); // 取得上传文件 MultipartFile image = multiRequest.getFile(fileName); String key=image.getName(); if (image.getSize() > 3024000l) { logger.info("图片上传图片容量过大!(限1G)"); return Response.error(GlobalEnum.GLOBAL_ENUM_CLIENT_ERROR_CODE.getValue(), SidCustEnum.SID_CRST_ERROR_SID_ERROR_33.getValue()); } if (image != null && image.getSize() > 0) { String serviceImage = upImage(image.getInputStream(), image.getOriginalFilename()); if(key.equals("up_img")) { platform.setImg(serviceImage); } else if(key.equals("up_imgEn")){ platform.setImgEn(serviceImage); } } else{ logger.info("请选择图片!"); return Response.error(GlobalEnum.GLOBAL_ENUM_CLIENT_ERROR_CODE.getValue(), SidCustEnum.SID_CRST_ERROR_SID_ERROR_34.getValue()); } }
private String upImage(InputStream inputStream,String imageName) { //TODO /** * 服务创建成功后 上传文件 */ SmbUtil smbUtil = new SmbUtil(this.propertiesService.getSmbServerUrl(),"bbp"); String type = ".jpg"; if(imageName.lastIndexOf(".")>0){ type = imageName.substring(imageName.lastIndexOf(".")) ; } imageName = UUID.randomUUID().toString().substring(0,20)+type ; smbUtil.uploadFileByStream(inputStream, imageName); return imageName; }}smb上传文件工具类package com.ig.common.smb;import jcifs.smb.SmbFile;import jcifs.smb.SmbFileOutputStream;import org.apache.log4j.Logger;import java.io.*;import java.net.MalformedURLException;import java.util.List;/** * SMB文件传输工具类 * Created by terry on 2016/1/7 0007. */public class SmbUtil { private static final Logger logger = Logger.getLogger(SmbUtil.class);// private static String url = "smb://kenny:123456@192.168.0.50"; private static SmbFile smbFile = null;//Singleton private SmbFileOutputStream smbOut = null; private String url ; private String code_temp = ""; public SmbUtil(String url,String code){ this.url = url ; code_temp = code; init(code); } /** * 初始化链接 * @param code */ public void init(String code) { try { logger.info("开始连接...url:" + url + "/" + code); if (smbFile == null) { smbFile = new SmbFile(url + "/" + code); code_temp = code; smbFile.connect(); } logger.info("连接成功...url:" + url + "/" + code); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } /** * 文件上传 * @param inputStream * @param imageName * @return */ public boolean uploadFileByStream (InputStream inputStream,String imageName) { long start = System.currentTimeMillis(); boolean flag = true ; BufferedInputStream bf = null; try { System.out.println("---> "+url +"/"+code_temp+ "/"); this.smbOut = new SmbFileOutputStream(url +"/"+code_temp+ "/" + imageName, false); bf = new BufferedInputStream(inputStream); byte[] bt = new byte[8192]; int n = bf.read(bt); while (n != -1) { this.smbOut.write(bt, 0, n); this.smbOut.flush(); n = bf.read(bt); } logger.info("文件传输结束... 文件传输耗时:"+(System.currentTimeMillis()-start)); } catch (IOException e) { e.printStackTrace(); flag = false ; } finally { try { if (null != this.smbOut) this.smbOut.close(); if (null != bf) bf.close(); } catch (Exception e2) { e2.printStackTrace(); } } return flag; }}linux搭建smb服务1、 安装samba
安装命令
#yum install samba samba-client -y
出现标红部分说明安装成功:
2、 建立目录和用户(创建之前检查是否已存在)
# mkdir /common
# useradd -s /sbin/nologin rob
3、 将用户加入到samba里,并设置密码
# smbpasswd -a rob
4、更改目标目录权限
# chown 777 /common/
5、 更改samba配置文件
# vim /etc/samba/smb.conf
*****************************************
## 修改
workgroup = STAFF//域
security = user
## 增加
[common]
path=/common
write list = brian
browseable = yes
hosts allow = 172.25.0. # 172网段
6、 启动服务
远程操作SMB服务相关Shell文件
package ig.com.test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.Session;
import ch.ethz.ssh2.StreamGobbler;
public class TestCtrCommond {
public static String smbPath(String code){
String hostname = "192.168.0.50";
String username = "root";
String password = "kenny123456";
//指明连接主机的IP地址
Connection conn = new Connection(hostname);
Session ssh = null;
try {
//连接到主机
conn.connect();
//使用用户名和密码校验
boolean isconn = conn.authenticateWithPassword(username, password);
if(!isconn){
System.out.println("用户名称或者是密码不正确");
}else{
System.out.println("已经连接OK");
ssh = conn.openSession();
//将屏幕上的文字全部打印出来
StringBuffer buff = new StringBuffer();
/**
* shell文件思想
* 建立*.sh文件,并赋予权限,执行*.sh文件 ,shell文件相关思想
* 1.判断是否存在共享文件夹
* 1.1 如果存在则删除该文件夹文件,不会重新创建smb共享服务,不会修改相关配置
* 1.2 如果不存在的情况,则修改/etc/samba/smb.conf 文件 ,重新创建smb共享服务
*/
buff.append("cd /opt/app/apache-tomcat-7.0.63/apache-tomcat-7.0.63_8886/webapps/");
buff.append(";");
buff.append("> "+code+".sh");
buff.append(";");
buff.append("touch "+code+".sh");
buff.append(";");
buff.append("echo '#!/bin/sh' >> "+code+".sh");
buff.append(";");
buff.append("echo 'if [ -d /opt/app/apache-tomcat-7.0.63/apache-tomcat-7.0.63_8886/webapps/"+code+" ];then' >> "+code+".sh");
buff.append(";");
buff.append("echo 'cd "+code+"'>>"+code+".sh");
buff.append(";");
buff.append("echo 'rm -rf *'>>"+code+".sh");
buff.append(";");
buff.append("echo 'echo this path already exist' >> "+code+".sh");
buff.append(";");
buff.append("echo else >> "+code+".sh");
buff.append(";");
buff.append("echo 'mkdir "+code+"'>>"+code+".sh");
buff.append(";");
buff.append("echo 'chmod 777 "+code+"'>>"+code+".sh");
buff.append(";");
buff.append("echo 'cd "+code+"'>>"+code+".sh");
buff.append(";");
buff.append("echo 'touch "+code+".txt'>>"+code+".sh");
buff.append(";");
buff.append("echo 'echo ["+code+"] >>"+code+".txt' >> "+code+".sh");
buff.append(";");
buff.append("echo 'echo path=/opt/app/apache-tomcat-7.0.63/apache-tomcat-7.0.63_8886/webapps/"+code+" >> "+code+".txt' >> "+code+".sh");
buff.append(";");
buff.append("echo 'echo write list = kenny >> "+code+".txt'>>"+code+".sh");
buff.append(";");
buff.append("echo 'echo browseable = yes >> "+code+".txt'>>"+code+".sh");
buff.append(";");
buff.append("echo 'cat "+code+".txt >> /etc/samba/smb.conf' >> "+code+".sh");
buff.append(";");
buff.append("echo service smb restart >> "+code+".sh");
buff.append(";");
buff.append("echo fi >> "+code+".sh");
buff.append(";");
buff.append("chmod +x "+code+".sh");
buff.append(";");
buff.append("./"+code+".sh");
buff.append(";");
System.out.println(buff.toString());
ssh.execCommand(buff.toString());
InputStream is = new StreamGobbler(ssh.getStdout());
BufferedReader brs = new BufferedReader(new InputStreamReader(is));
while(true){
String line = brs.readLine();
if(line==null){
break;
}
System.out.println(line);
}
}
//连接的Session和Connection对象都需要关闭
ssh.close();
conn.close();
} catch (IOException e) {
e.printStackTrace();
}
return "";
}
public static void main(String[] args) {
TestCtrCommond.smbPath("bbp");
}
}
依赖jar包
ganymed-ssh2-build210.jar
1 0
- linux搭建smb文件共享服务,java上传文件共享服务器,tomcat端口直接访问
- 共享文件上传--SMB
- java web端使用smb服务实现上传文件共享
- java使用smb访问网络共享文件
- Linux Windows 文件共享smb
- linux(Radhat9.0)通过smb服务共享windows文件
- Linux查看Windows下的共享文件:smb服务
- linux与window之间文件共享——smb 服务器
- SMB实现共享文件(上传、下载)
- SMB实现共享文件(上传、下载)
- smb服务器建立共享文件账号
- 共享文件下载--SMB
- smb协议共享文件
- smb文件共享实现
- smb文件共享
- SMB文件共享
- SMB 文件共享
- linux之访问网络文件共享服务
- 去除/隐藏QStandardItem已显示的复选框(CheckBox)
- WPF在隐藏标题栏以后实现拖动
- Set,List,Map的区别
- SSH-Hibernate(二)—关系映射(上)
- Mac下ORA-21561: OID generation failed问题解决
- linux搭建smb文件共享服务,java上传文件共享服务器,tomcat端口直接访问
- 完整的R语言预测建模实例-从数据清理到建模预测
- 内存溢出和内存泄漏的区别
- java 字符串替换 replace与replaceAll
- CSS常用样式大全
- C函数的DLL,C++动态调用。
- Dragonboard410c服务器系列一之web局域网服务器
- CentOS安装mysql
- 重构-改善既有代码的设计读书笔记(九)