采用ftpclient.storeFile(String, Inputstream)将流写到服务器,没报错但服务器上没有文件,这是怎么回事

采用ftpclient.storeFile(String, Inputstream)将流写到服务器,没报错但服务器上没有文件,这是怎么回事,第1张

//创建一个FtpClient对象

FTPClient ftpClient = new FTPClient();

//上传文件 - 读取本地文件 file:需要上传的文件地址

FileInputStream inputStream = new FileInputStream(file);

//将流写到服务器

ftpclientstoreFile(String, inputStream)

其中String为保存后的文件名,inputStream就是上面获取的文件流

向上面说的服务器上没有文件,

1、可能是你String前面加了地址,但是你的ftp服务器中没有这个文件夹导致的,

2、在以有的文件夹下上传保存,在String前面加/文件夹名,

例:ftpClientstoreFile("/"+String, inputStream);

(多层文件夹时)有的时候你需要给ftp文件夹设置权限(右击文件夹选择属性--安全--编辑--永许完全控制),可以试一试。最好只用当前层文件夹,否则每层都要设置

3、

ftpClientmakeDirectory("/文件名");//创建文件夹

ftpClientchangeWorkingDirectory("/文件名");改变保存路径

这种的最好只用一层文件夹路径

本人彩笔一枚,大佬请喷。喷完了请把解决思路说一下!!!

1打开SpringMVC的文件上传功能:-servletxml中配置

2创建上传文件的filejsp

3Controller层创建代码

以上 *** 作步骤准确无误,本人JAVA学的很好。

//responsereset(); responsesetCharacterEncoding("UTF-8"); responsesetContentType("application/octet-stream");//APPLICATION/OCTET-STREAM responseaddHeader("Content-Disposition", "attachment; filename=\""+fileName+"\""); //responsesetContentLength((int)textlength()); byte[] b=new byte[100]; javaioOutputStream os=null; javaioInputStream is=null; try{ is=new javaioByteArrayInputStream(textgetBytes()); os=responsegetOutputStream(); int len=0; while((len=isread(b))>0){ oswrite(b,0,len); } responsesetStatus( responseSC_OK ); //responseflushBuffer(); //osflush(); //osclose(); isclose(); }catch(IOException e){ //responsereset(); eprintStackTrace(); } fileName的值是一个文件名,如:李四csv

警告: Parameters: Invalid chunk ignored

Invalid chunk starting at byte [0] and ending at byte [0] with a value of [null] ignored

问题补充: //responsereset(); responsesetCharacterEncoding("UTF-8"); responsesetContentType("application/octet-stream");//APPLICATION/OCTET-STREAM responseaddHeader("Content-Disposition", "attachment; filename=\""+fileName+"\""); //responsesetContentLength((int)textlength()); byte[] b=new byte[100]; javaioOutputStream os=null; javaioInputStream is=null; try{ is=new javaioByteArrayInputStream(textgetBytes()); os=responsegetOutputStream(); int len=0; while((len=isread(b))>0){ oswrite(b,0,len); } responsesetStatus( responseSC_OK ); //responseflushBuffer(); //osflush(); //osclose(); isclose(); }catch(IOException e){ //responsereset(); eprintStackTrace(); } fileName的值是一个文件名,如:李四csv

警告: Parameters: Invalid chunk ignored

Invalid chunk starting at byte [0] and ending at byte [0] with a value of [null] ignored 问题补充:大同小异啊,也没有看见关键性的差异。不同的地方我都试过了,还是无法解决!

OpenMind 写道我有一段下载的代码,和你的有几个地方不一样,你自己看着修改一下吧:

File file = new File(savePath + attachmentgetPath()); / 如果文件存在 / if (fileexists()) { String disName = URLEncoderencode( attachmentgetDisplayName(), "UTF-8"); responsereset(); responsesetContentType("application/x-msdownload"); responseaddHeader("Content-Disposition", "attachment; filename=\"" + disName + "\""); int fileLength = (int) filelength(); responsesetContentLength(fileLength); / 如果文件长度大于0 / if (fileLength != 0) { / 创建输入流 / InputStream inStream = new FileInputStream(file); byte[] buf = new byte[4096]; / 创建输出流 / ServletOutputStream servletOS = response getOutputStream(); int readLength; while (((readLength = inStreamread(buf)) != -1)) { servletOSwrite(buf, 0, readLength); } inStreamclose(); servletOSflush(); servletOSclose(); success = true; } } 问题补充:我已经把Log信息贴出来了,正在找问题,不知道有没有遇到过这个问题的!

lifeidgp 写道1responsesetContentType("application/x-msdownload");加入这样代码试试;

3用firebug抓包吧。

lifeidgp 写道1responsesetContentType("application/x-msdownload");加入这样代码试试;

3用firebug抓包吧。

循环格式问题。计算机文件,是存储在某种长期储存设备上的一段数据流。所谓“长期储存设备”一般指磁盘、光盘、磁带等。根据查询相关资料显示:设备后台保存的文件前端访问不了是因为循环格式问题导致前端读取失败,需进行设备重启即可解决问题。一种重要的文件是文本文件,是由一些字符的串行组成的,二进制文件是指除了文本文件以外的文件。

前台:ajax实现,点击上传,确认表单发送到后台,此时ajax做的事情,就是确认表单,这是一个伪ajax ,ajax不能实现文件上传,可以使用一个JS,叫做ajaxfileuploadjs的用法。

后台无非是接收了,没什么好讲

java连接Sftp服务器后,使用第三方jar comjcraftjschChannelSftp;用get()方法获取的InputStream流为空,检查下第3方初始化这些写对没有,或者就是没得到流,打印看看,解决问题。

以上就是关于采用ftpclient.storeFile(String, Inputstream)将流写到服务器,没报错但服务器上没有文件,这是怎么回事全部的内容,包括:采用ftpclient.storeFile(String, Inputstream)将流写到服务器,没报错但服务器上没有文件,这是怎么回事、java-SpringMVC 后台怎么获取前台jsp页面中file中的文件、Java实现文件流下载文件,浏览器无反应,后台无错误!如何解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9825823.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存