上传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
}
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)