使用JCIFS上传文件至NAS设备(NETAPP FAS3140)

知识点:

1、安全认证方式

问题

jcifs.smb.SmbAuthException: Logon failure: unknown user name or bad password.

at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:596)

at jcifs.smb.SmbTransport.send(SmbTransport.java:722)

at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:354)

at jcifs.smb.SmbSession.send(SmbSession.java:239)

at jcifs.smb.SmbTree.treeConnect(SmbTree.java:176)

at jcifs.smb.SmbFile.doConnect(SmbFile.java:925)

at jcifs.smb.SmbFile.connect(SmbFile.java:974)

at jcifs.smb.SmbFile.connect0(SmbFile.java:890)

at jcifs.smb.SmbFile.queryPath(SmbFile.java:1355)

at jcifs.smb.SmbFile.exists(SmbFile.java:1437)

at com.indigopacific.customagent.tool.FileUtil.IsFileExist(FileUtil.java:301)

at com.indigopacific.customagent.UploadAndUpdatePdfUseJcifsAgent.ePolicyIsExist(UploadAndUpdatePdfUseJcifsAgent.java:312)

at com.indigopacific.customagent.UploadAndUpdatePdfUseJcifsAgent.execute(UploadAndUpdatePdfUseJcifsAgent.java:61)

at com.indigopacific.customagent.test.Test.main(Test.java:32)

jcifs.smb.SmbAuthException: Logon failure: unknown user name or bad password.

at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:596)

at jcifs.smb.SmbTransport.send(SmbTransport.java:722)

at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:354)

at jcifs.smb.SmbSession.send(SmbSession.java:239)

at jcifs.smb.SmbTree.treeConnect(SmbTree.java:176)

at jcifs.smb.SmbFile.doConnect(SmbFile.java:925)

at jcifs.smb.SmbFile.connect(SmbFile.java:974)

at jcifs.smb.SmbFile.connect0(SmbFile.java:890)

at jcifs.smb.SmbFile.queryPath(SmbFile.java:1355)

at jcifs.smb.SmbFile.exists(SmbFile.java:1437)

at com.indigopacific.customagent.tool.FileUtil.IsFileExist(FileUtil.java:301)判断文件是否存在失败:Logon failure: unknown user name or bad password.

at com.indigopacific.customagent.UploadAndUpdatePdfUseJcifsAgent.ePolicyIsExist(UploadAndUpdatePdfUseJcifsAgent.java:312)

at com.indigopacific.customagent.UploadAndUpdatePdfUseJcifsAgent.execute(UploadAndUpdatePdfUseJcifsAgent.java:61)

at com.indigopacific.customagent.test.Test.main(Test.java:32)

jcifs.smb.SmbAuthException: Logon failure: unknown user name or bad password.

at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:596)

at jcifs.smb.SmbTransport.send(SmbTransport.java:722)

at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:354)

at jcifs.smb.SmbSession.send(SmbSession.java:239)

at jcifs.smb.SmbTree.treeConnect(SmbTree.java:176)

at jcifs.smb.SmbFile.doConnect(SmbFile.java:925)

at jcifs.smb.SmbFile.connect(SmbFile.java:974)

at jcifs.smb.SmbFile.connect0(SmbFile.java:890)

at jcifs.smb.SmbFile.queryPath(SmbFile.java:1355)

at jcifs.smb.SmbFile.exists(SmbFile.java:1437)

at com.indigopacific.customagent.tool.FileUtil.IsFileExist(FileUtil.java:301)

at com.indigopacific.customagent.UploadAndUpdatePdfUseJcifsAgent.ePolicyIsExist(UploadAndUpdatePdfUseJcifsAgent.java:312)

at com.indigopacific.customagent.UploadAndUpdatePdfUseJcifsAgent.execute(UploadAndUpdatePdfUseJcifsAgent.java:61)

at com.indigopacific.customagent.test.Test.main(Test.java:32)

java.sql.SQLException: 关闭的连接

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)

at oracle.jdbc.driver.PhysicalConnection.rollback(PhysicalConnection.java:1133)

at com.indigopacific.customagent.UploadAndUpdatePdfUseJcifsAgent.execute(UploadAndUpdatePdfUseJcifsAgent.java:117)

at com.indigopacific.customagent.test.Test.main(Test.java:32)

解决办法

参考网址:https://communities.netapp.com/thread/24257

在使用JCIFS上传前加上下面这句话

jcifs.Config.setProperty( "jcifs.smb.lmCompatibility", "2");

原因是:

NAS设备的身份认证方式为NTLM,而JCIFS默认的身份认证方式为NTLMv2.

java上传文件至nas_使用JCIFS上传文件至NAS设备(Logon failure: unknown user name or bad password)解决...相关推荐

  1. java struts2 excel上传_文件上传下载——通过struts的FormFile上传单个excel文件

    通过struts的FormFile上传单个excel文件 思路: 1.通过struts的FormFile获取File(这个文件的路径是"客户端的选择的路径地址") 2.将客户端的文 ...

  2. java 文件保存目录结构_java web 实现文件夹上传(保留目录结构)

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

  3. java大文件解析_java大文件(百M以上)的上传下载实例解析

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

  4. java struts2 excel上传_文件上传方法,使用Struts2,实现Excel文件读取并写入数据库技术...

    文件上传方法,使用Struts2,实现Excel文件读取并写入数据库技术 如题:文件信息的批量导入-- 项目中经常会遇到客户的一些单表信息的数据批量导入,也就是提供定制Excel表,再把Excel表中 ...

  5. ftp上传文件服务器报550错误_java ftp下载文件,Java 实现ftp上传下载文件

    最近项目中需要实现将文件先存放到ftp上,需要的时候再从ftp上下载,做的过程中碰到了问题,发现中文文件名的无法上传到ftp上,ftp上的中文文件名的文件下载不下来,几番折腾,终于搞定了,记录一下备忘 ...

  6. java 上传文件及预览_SpringBoot上传下载文件及在线预览

    SpringBoot上传下载文件及在线预览 今天大概就说说如何使用SpringBoot进行上传和下载以及在线预览文件 本篇主要介绍上传下载的功能,对于界面就简单一点,大致如下: 一.老规矩还是先看看小 ...

  7. java post 多文件报头_Spring MVC-------文件上传,单文件,多文件,文件下载

    Spring MVC框架的文件上传是基于 commons-fileupload 组件的文件上传,只不过SpringMVC 框架在原有文件上传组件上做了进一步封装,简化了文件上传的代码实现,取消了不同上 ...

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

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

  9. ajax上传 java_使用Ajax进行文件与其他参数的上传功能(java开发)

    文件上传: 记得前一段时间,为了研究Ajax文件上传,找了很多资料,在网上看到的大部分是form表单的方式提交文件,对于Ajax方式提交文件并且也要提交表单中其他数据,发现提及的并不是很多,后来在同事 ...

最新文章

  1. $0,$?,$!,$-,$*,$@,$#等的特殊用法
  2. Mysql慢查询深入剖析_《深入精通Mysql(六)》系列之如何通过慢查询日志进行SQL分析和优化...
  3. Java List 排序 :Lambda表达式sort排序
  4. bit索引 mysql_Mysql优化之索引实现原理
  5. Spring靴子战争包装
  6. Linux命令之 DNF -- 新一代的 RPM 软件包管理器
  7. 盘点2018:数据和云最受欢迎的十大精品文章
  8. MS 的IOC容器(ObjectBuilder)?
  9. 三菱q系列特殊继电器一览表_2020山西三菱Q系列PLC模块回收购销
  10. restful levelsHATEOAS
  11. 女神节福利来了!(自动驾驶/三维重建/SLAM/点云/标定/深度估计/3D检测)
  12. Atitit 头像文件上传功能实现目录1. 上传文件原理 11.1. 界面ui 11.2. 预览实现 21.3. 保存头像文件php 21.4. 保存文件nodejs java 32
  13. js实现中文简繁切换效果
  14. 电脑回收站清空了能恢复吗?
  15. 高清影音发展的产物格式转换器
  16. C#的HTTP协议中POST与GET的区别
  17. 并非都完美,笔记本8大致命缺陷曝光
  18. centos linux开机启动项,Centos 配置开机启动项
  19. 色彩静物想要呈现出最好的效果?快看看下面这种画法~
  20. python中国大学慕课平台_计算机程序设计-Python,中国大学MOOC(慕课)答案公众号搜题...

热门文章

  1. IBM Cloud Video工程师Scott Grizzle谈流媒体协议和Codec
  2. 重磅!腾讯云首次披露自研业务上云历程
  3. nginx+upsync+consul 构建动态nginx配置系统
  4. Linux命令发送Http的get或post请求(curl和wget两种方法)
  5. Kubernetes 1.9 发布
  6. 搜狗输入法错误推送地震信息,但其背后的真正价值值得思考
  7. leetcode 371. Sum of Two Integers | 371. 两整数之和(补码运算)
  8. leetcode 257. 二叉树的所有路径(Java版)
  9. 【PAT甲级 大数运算】1065 A+B and C (64bit) (20 分) Python 全部AC
  10. C++ 静态链表(用数组模拟动态链表)