服务器上传文档显示源文档错误

服务器上传文档显示源文档错误,第1张

上传word文档显示服务器出错

上传word文档显示服务器出错,打开office出错的几种解决方法

凉风祭

转载

关注

0点赞·3106人阅读

打开office出错的几种解决方法

互联网 发布时间:2008-10-04 19:36:44 作者:佚名

我要评论

打开Office出错,比如无法打开Office文件、无法打开有密码保护的Office文件等。本文归纳了几种常见的出错情况,并给出相应的解决方案。

无法打开文件

文件可能已损坏

试图打开的文件可能已损坏。Microsoft Office程序可以让您试着从损坏的文件中恢复文字,或者

打开Office出错,比如无法打开Office文件、无法打开有密码保护的Office文件等。本文归纳了几种常见的出错情况,并给出相应的解决方案。

无法打开文件

文件可能已损坏

试图打开的文件可能已损坏。Microsoft Office程序可以让您试着从损坏的文件中恢复文字,或者如果恢复的文件无法使用,那么您可以删除损坏的文件,然后打开备份。

操作方法

一、如果所使用的Microsoft Office程序没有响应,请恢复程序。

操作方法

1、在Microsoft Windows“开始”菜单上,指向“所有程序”,指向“Microsoft Office”,再指向“Microsoft Office工具”,然后单击“Microsoft Office应用程序恢复”。

2、在“应用程序”列表中,单击没有响应的程序或文档。

3、请执行下列操作之一:

·若要试图恢复以前正在使用的文件,请单击“恢复应用程序”或“重新启动应用程序”。

·如果只想关闭程序,并且放弃对文件进行的最新更改,请单击“结束应用程序”。

4、可将导致问题的错误报告给Microsoft,以用于改进此程序的将来版本。单击“发送错误报告”或“不发送”。

注释如果没有连接到Internet,请单击“以后再发送错误报告”,以在下次连接时,提示您发送该报告。

解决方法:在终端下登录ftp,首先输入bin,会提示已转换到BIN模式。然后进行你的put和get操作。该方法是将传输形式改为二进制传输(binary)。你的问题应该会得到解决。

延伸:因为在ftp传输过程中,默认是使用ASCII模式而非BIN模式,这样会导致压缩文件在传输过程中由于编码或解码错误而导致损坏。

望采纳~

以二进制流上传,然后实现断点续传。

/**

* 上传文件到FTP服务器,支持断点续传

* @param local 本地文件名称,绝对路径

* @param remote 远程文件路径,使用/home/directory1/subdirectory/file.ext 按照Linux上的路径指定方式,支持多级目录嵌套,支持递归创建不存在的目录结构

* @return 上传结果

* @throws IOException

*/

public UploadStatus upload(String local,String remote) throws IOException{

FTPClient ftpClient = new FTPClient()

//设置PassiveMode传输

ftpClient.enterLocalPassiveMode()

//设置以二进制流的方式传输

ftpClient.setFileType(FTP.BINARY_FILE_TYPE)

UploadStatus result

//对远程目录的处理

String remoteFileName = remote

if(remote.contains("/")){

remoteFileName = remote.substring(remote.lastIndexOf("/")+1)

String directory = remote.substring(0,remote.lastIndexOf("/")+1)

if(!directory.equalsIgnoreCase("/")&&!ftpClient.changeWorkingDirectory(directory)){

//如果远程目录不存在,则递归创建远程服务器目录

int start=0

int end = 0

if(directory.startsWith("/")){

start = 1

}else{

start = 0

}

end = directory.indexOf("/",start)

while(true){

String subDirectory = remote.substring(start,end)

if(!ftpClient.changeWorkingDirectory(subDirectory)){

if(ftpClient.makeDirectory(subDirectory)){

ftpClient.changeWorkingDirectory(subDirectory)

}else {

System.out.println("创建目录失败")

return UploadStatus.Create_Directory_Fail

}

}

start = end + 1

end = directory.indexOf("/",start)

//检查所有目录是否创建完毕

if(end <= start){

break

}

}

}

}

//检查远程是否存在文件

FTPFile[] files = ftpClient.listFiles(remoteFileName)

if(files.length == 1){

long remoteSize = files[0].getSize()

File f = new File(local)

long localSize = f.length()

if(remoteSize==localSize){

return UploadStatus.File_Exits

}else if(remoteSize >localSize){

return UploadStatus.Remote_Bigger_Local

}

//尝试移动文件内读取指针,实现断点续传

InputStream is = new FileInputStream(f)

if(is.skip(remoteSize)==remoteSize){

ftpClient.setRestartOffset(remoteSize)

if(ftpClient.storeFile(remote, is)){

return UploadStatus.Upload_From_Break_Success

}

}

//如果断点续传没有成功,则删除服务器上文件,重新上传

if(!ftpClient.deleteFile(remoteFileName)){

return UploadStatus.Delete_Remote_Faild

}

is = new FileInputStream(f)

if(ftpClient.storeFile(remote, is)){

result = UploadStatus.Upload_New_File_Success

}else{

result = UploadStatus.Upload_New_File_Failed

}

is.close()

}else {

InputStream is = new FileInputStream(local)

if(ftpClient.storeFile(remoteFileName, is)){

result = UploadStatus.Upload_New_File_Success

}else{

result = UploadStatus.Upload_New_File_Failed

}

is.close()

}

return result

}


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/449644.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存