Files
OnlyOffice-Backend/target/classes/com/onlyoffice/integration/controllers/FileController.class
T

155 lines
25 KiB
Plaintext
Raw Normal View History

2024-02-26 14:14:18 +08:00
Êþº¾7–
æç åè
ºé
ºê
ëì åí îï
Vð
ñ
ò
óô åõ
ö
÷
ø ùúþ ùÿ

   
 
  ù 5 î 5 5 î î  ù

,! î"þ
å$%
2&'
U( å)
f* +,
U-. î/ å0 12 13
W4
W5
7 +9:
E!
E;<
H=
H>?@
K! ùA åB CD ßE ùFG îH ùIK
2L åN OP OQ åRS iTUV
W OX
åY
åZ
7[
f\ +^_ `a
bc • ~efg‚h� ßði +j +k ål
mno Op
ªqr
ms åt
uv xœ
ªyFz å{
X|}

,&
,L  ¡¢€�
‚
ƒ„
Ӎ
”… 冤 ‡ˆ‰Š
›ç‹
�ç
�Œ
��´
ªŽ�¬
£y C�
‘©
›’“p
”•
”–Y—
°!
°˜™³
·š› Oœe'�ž
°Ÿ C  C¡ +¢
°£¤
¥¦ C§
°¨
©ª ¬­
Ç®
ǯ
ǰ±²
ªç³
ª…ƒ´µ
Ò!·
Õç
Ò¸¹
Ùç
Ùº»¼
 ¾
¿ÀÁ
á!
á°ÂÃÄdocumentJwtHeaderLjava/lang/String;RuntimeVisibleAnnotations4Lorg/springframework/beans/factory/annotation/Value;value${files.docservice.header} filesizeMax${filesize-max}docserviceUrlSite${files.docservice.url.site}docserviceUrlCommand${files.docservice.url.command} fileUtilityALcom/onlyoffice/integration/documentserver/util/file/FileUtility;8Lorg/springframework/beans/factory/annotation/Autowired;documentManagerMLcom/onlyoffice/integration/documentserver/managers/document/DocumentManager;
jwtManagerCLcom/onlyoffice/integration/documentserver/managers/jwt/JwtManager;storageMutatorFLcom/onlyoffice/integration/documentserver/storage/FileStorageMutator;storagePathBuilderJLcom/onlyoffice/integration/documentserver/storage/FileStoragePathBuilder; userService2Lcom/onlyoffice/integration/services/UserServices;callbackHandlerELcom/onlyoffice/integration/documentserver/callbacks/CallbackHandler; objectMapper-Lcom/fasterxml/jackson/databind/ObjectMapper;serviceConverterILcom/onlyoffice/integration/documentserver/util/service/ServiceConverter;callbackManagerMLcom/onlyoffice/integration/documentserver/managers/callback/CallbackManager;<init>()VCodeLineNumberTableLocalVariableTablethis7Lcom/onlyoffice/integration/controllers/FileController;createUserMetadata8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;user*Lcom/onlyoffice/integration/entities/User;uid fullFileName optionalUserLjava/util/Optional; documentTypeLocalVariableTypeTable@Ljava/util/Optional<Lcom/onlyoffice/integration/entities/User;>;
StackMapTableÅMethodParameters downloadFile=(Ljava/lang/String;)Lorg/springframework/http/ResponseEntity;fileNameresource&Lorg/springframework/core/io/Resource; contentType Signaturee(Ljava/lang/String;)Lorg/springframework/http/ResponseEntity<Lorg/springframework/core/io/Resource;>;downloadFileHistorya(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/springframework/http/ResponseEntity;versionfile‰(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/springframework/http/ResponseEntity<Lorg/springframework/core/io/Resource;>;uploadW(Lorg/springframework/web/multipart/MultipartFile;Ljava/lang/String;)Ljava/lang/String;
fileExtensionfileSizeJbytes[B fileNamePatheLjava/lang/Exception;1Lorg/springframework/web/multipart/MultipartFile;Æ05Lorg/springframework/web/bind/annotation/PostMapping;/upload6Lorg/springframework/web/bind/annotation/ResponseBody;"RuntimeVisibleParameterAnnotations6Lorg/springframework/web/bind/annotation/RequestParam;5Lorg/springframework/web/bind/annotation/CookieValue;convertb(Lcom/onlyoffice/integration/dto/Converter;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;keyresponse.Lcom/onlyoffice/integration/dto/ConvertedData;
newFileUri newFileTypenameWithInternalExt
correctedNameurlLjava/net/URL;
connectionLjava/net/HttpURLConnection;streamLjava/io/InputStream;body*Lcom/onlyoffice/integration/dto/Converter;langfileUrifilePassfileExttypeELcom/onlyoffice/integration/documentserver/models/enums/DocumentType;internalFileExtÇÈÉÊpath${url.converter}5Lorg/springframework/web/bind/annotation/RequestBody;ulangdelete>(Lcom/onlyoffice/integration/dto/Converter;)Ljava/lang/String; fileSuccessZhistorySuccess/deletedownloadHistoryˆ(Ljavax/servlet/http/HttpServletRequest;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/springframework/http/ResponseEntity;tokenheaderrequest'Ljavax/servlet/http/HttpServletRequest;˰(Ljavax/servlet/http/HttpServletRequest;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/springframework/http/ResponseEntity<Lorg/springframework/core/io/Resource;>;4Lorg/springframework/web/bind/annotation/GetMapping;/downloadhistoryverdownloadv(Ljavax/servlet/http/HttpServletRequest;Ljava/lang/String;Ljava/lang/String;)Lorg/springframework/http/ResponseEntity; userAddressž(Ljavax/servlet/http/HttpServletRequest;Ljava/lang/String;Ljava/lang/String;)Lorg/springframework/http/ResponseEntity<Lorg/springframework/core/io/Resource;>;${url.download}requiredcreatej(Ljava/lang/String;Ljava/util/Optional;Ljava/lang/String;Lorg/springframework/ui/Model;)Ljava/lang/String;exisSamplemodelLorg/springframework/ui/Model;
sampleDataLjava/lang/Boolean;)Ljava/util/Optional<Ljava/lang/Boolean;>;Ì(Ljava/lang/String;Ljava/util/Optional<Ljava/lang/Boolean;>;Ljava/lang/String;Lorg/springframework/ui/Model;)Ljava/lang/String;/createsampleassetsname/assetscsv+()Lorg/springframework/http/ResponseEntity;S()Lorg/springframework/http/ResponseEntity<Lorg/springframework/core/io/Resource;>;/csvfiles)(Ljava/lang/String;)Ljava/util/ArrayList;fileIdÍ`(Ljava/lang/String;)Ljava/util/ArrayList<Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;/filestrack…(Ljavax/servlet/http/HttpServletRequest;Ljava/lang/String;Ljava/lang/String;Lcom/onlyoffice/integration/dto/Track;)Ljava/lang/String;
bodyString bodyCheckLorg/json/simple/JSONObject;&Lcom/onlyoffice/integration/dto/Track;errorI ${url.track}saveAsB(Lorg/json/simple/JSONObject;Ljava/lang/String;)Ljava/lang/String;curExtLjava/io/IOException;title
saveAsFileUrl/saveasrename0(Lorg/json/simple/JSONObject;)Ljava/lang/String; newfilenamedockeyorigExtmetaLjava/util/HashMap;9Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;/rename referencefileKeyreferenceDataObjLjava/util/LinkedHashMap;
instanceIdfLjava/io/File;parser#Lorg/json/simple/parser/JSONParser;gsonLcom/google/gson/Gson; directUrl
referenceDatadata9Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Object;>;Î
/referencerestoresourceBasenameLjava/lang/Integer;userIDsourceStringFile
sourceFilesourcePathFileLjava/nio/file/Path;historyDirectory
bumpedVersionbumpedVersionStringDirectorybumpedVersionDirectorybumpedKeyPathFilebumpedKeyStringFile
bumpedKeyFile bumpedKeybumpedKeyFileWriterLjava/io/FileWriter; userInnerIDbumpedChangesPathFilebumpedChangesStringFilebumpedChangesFilebumpedChangesUserbumpedChangesChangesItembumpedChangesChangesLorg/json/simple/JSONArray;
bumpedChangesbumpedChangesContentbumpedChangesFileWritersourceExtensionpreviousBasename
bumpedFilerecoveryVersionStringDirectoryrecoveryPathFilerecoveryStringFilerecoveryStreamLjava/io/FileInputStream; responseBodyÏ4Lorg/springframework/web/bind/annotation/PutMapping;/restore
SourceFileFileController.java5Lorg/springframework/web/bind/annotation/CrossOrigin;*+Lorg/springframework/stereotype/Controller;  þÿ ÐÑ ÒÓÔ ÕÖ óô× ØÙ ÚÛ ÜÛ ÝÞ ßà(com/onlyoffice/integration/entities/User úû áâ Òã äÛå æçBootstrapMethodsèé ê ëìapplication/octet-streamí îïð ñò "ó$org/springframework/http/HttpHeadersContent-Dispositionjava/lang/Stringô õÛö ê÷ fú3org/springframework/http/ResponseEntity$BodyBuilder BodyBuilder InnerClasses Lû üý þÛ ÿ÷   ${ "error": "File size is incorrect"}   ({ "error": "File type is not supported"} 
  Þjava/io/IOExceptionCould not update a file 
÷ java/lang/Exception  ;{ "error": "Something went wrong when uploading the file."} Û ö÷ Ò  Ûooxml   ÷  Û Û Þ !÷ java/net/URL "#java/net/HttpURLConnection $% & java/lang/RuntimeExceptionInput stream is null '( üý) *÷ +, -.*{ "error": "The file can't be converted."} ÷ /(0 ê1 2Û3 øù4 5Þ 6Þ çè
Authorization 7÷Bearer  89 :; %& java/lang/Boolean <Þ= >?*You must have forgotten to add asset files@ ABC DEF GH
error.html
redirect:/document-templatescsv.csv IJ IŠ K LM0{"error":1,"message":"Request payload is empty"} NO PÛ$com/onlyoffice/integration/dto/Track QR S TUV êã ßW&{"error":"File type is not supported"} íè Xâ"{"error":"File size is incorrect"}YZext. [Ñ \Ñjava/util/HashMap ]^ _ `a result ok!org/json/simple/parser/JSONParsercom/google/gson/GsonBuilder bc ud e java/util/LinkedHashMap fg h ijorg/json/simple/JSONObjectk lm nÛ java/io/File oÞ{ "error": "File not found"} pMfileType qrjava/lang/IntegeruserId st u÷ vw xy zÞkey.txt{ ß, |Û }~ Ú€ ê�java/io/FileWriter ‚ ƒ
„ uid- changes.jsonidcreatedjava/text/SimpleDateFormatyyyy-MM-dd HH:mm:ssjava/util/Date …†org/json/simple/JSONArray ‡ 
serverVersionchangesˆjava/nio/file/CopyOption‰ Š‹java/io/FileInputStreamsuccess5com/onlyoffice/integration/controllers/FileControllerjava/lang/Objectjava/util/Optional/org/springframework/web/multipart/MultipartFile(com/onlyoffice/integration/dto/ConverterCcom/onlyoffice/integration/documentserver/models/enums/DocumentType,com/onlyoffice/integration/dto/ConvertedDatajava/io/InputStream%javax/servlet/http/HttpServletRequestorg/springframework/ui/Modeljava/util/ArrayListcom/google/gson/Gsonjava/nio/file/PathparseInt(Ljava/lang/String;)IvalueOf(I)Ljava/lang/Integer;0com/onlyoffice/integration/services/UserServices findUserById)(Ljava/lang/Integer;)Ljava/util/Optional;?com/onlyoffice/integration/documentserver/util/file/FileUtilitygetDocumentTypeY(Ljava/lang/String;)Lcom/onlyoffice/integration/documentserver/models/enums/DocumentType;toString()Ljava/lang/String; toLowerCase isPresent()Zget()Ljava/lang/Object;getId()I(I)Ljava/lang/String;getNameDcom/onlyoffice/integration/documentserver/storage/FileStorageMutator
createMeta9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
Œ�({ "filename": "", "documentType": "" }makeConcatWithConstantsloadFileAsResource:(Ljava/lang/String;)Lorg/springframework/core/io/Resource;'org/springframework/http/ResponseEntityok7()Lorg/springframework/http/ResponseEntity$BodyBuilder;"org/springframework/http/MediaTypeparseMediaType8(Ljava/lang/String;)Lorg/springframework/http/MediaType;[(Lorg/springframework/http/MediaType;)Lorg/springframework/http/ResponseEntity$BodyBuilder;$org/springframework/core/io/Resource getFilenameattachment; filename=""&(Ljava/lang/String;)Ljava/lang/String;ŽHeadersBuilder_(Ljava/lang/String;[Ljava/lang/String;)Lorg/springframework/http/ResponseEntity$HeadersBuilder;=(Ljava/lang/Object;)Lorg/springframework/http/ResponseEntity;loadFileAsResourceHistory^(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/springframework/core/io/Resource;getOriginalFilenamegetFileExtensiongetSize()JgetBytes()[BgetMaxFileSize getFileExts()Ljava/util/List;java/util/Listcontains(Ljava/lang/Object;)Z
updateFile((Ljava/lang/String;[B)Ljava/lang/String;isBlank(Ljava/lang/String;)VgetFileNameWithoutExtensionprintStackTrace getFileName(Z)Ljava/lang/Boolean;Kcom/onlyoffice/integration/documentserver/managers/document/DocumentManagergetDownloadUrl9(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/String; getFilePassgetConvertExtsGcom/onlyoffice/integration/documentserver/util/service/ServiceConvertergenerateRevisionIdgetConvertedData¯(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/String;)Lcom/onlyoffice/integration/dto/ConvertedData;getUri getFileType.isEmpty!{ "step" : "0", "filename" : ""}getCorrectNameopenConnection()Ljava/net/URLConnection;getInputStream()Ljava/io/InputStream;
disconnect
deleteFile(Ljava/lang/String;)ZHcom/onlyoffice/integration/documentserver/storage/FileStoragePathBuildergetFileLocationof;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
createFile,(Ljava/nio/file/Path;Ljava/io/InputStream;)ZdeleteFileHistory{ "success": ""}(Z)Ljava/lang/String;
getMessage{ "error": ""}Acom/onlyoffice/integration/documentserver/managers/jwt/JwtManager tokenEnabledtokenUseForRequest getHeaderreplaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; readToken7(Ljava/lang/String;)Lorg/primeframework/jwt/domain/JWT; booleanValue#Could not fine any user with id = 
createDemo](Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;!java/nio/charset/StandardCharsetsUTF_8Ljava/nio/charset/Charset;java/net/URLEncoderencode@(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;redirect:editor?fileName= addAttributeD(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/ui/Model; getFilesInfo()Ljava/util/ArrayList;+com/fasterxml/jackson/databind/ObjectMapperwriteValueAsString&(Ljava/lang/Object;)Ljava/lang/String; parseBodyB(Ljava/lang/String;Ljava/lang/String;)Lorg/json/simple/JSONObject; toJSONString readValue7(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;Ccom/onlyoffice/integration/documentserver/callbacks/CallbackHandlerhandle;(Lcom/onlyoffice/integration/dto/Track;Ljava/lang/String;)I {"error":}&(Ljava/lang/Object;)Ljava/lang/Object; available{"file": ""}{ "error" : 1, "message" : ""}indexOf compareToput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;Kcom/onlyoffice/integration/documentserver/managers/callback/CallbackManagercommandRequest:(Ljava/lang/String;Ljava/lang/String;Ljava/util/HashMap;)VdisableHtmlEscaping()Lcom/google/gson/GsonBuilder;()Lcom/google/gson/Gson; containsKey getServerUrl'(Ljava/lang/Boolean;)Ljava/lang/String;equalsparse&(Ljava/lang/String;)Ljava/lang/Object;java/net/InetAddress getLocalHost()Ljava/net/InetAddress;getHostAddressexiststoJson createToken#(Ljava/util/Map;)Ljava/lang/String;toPath()Ljava/nio/file/Path;
getHistoryDirgetFileVersion((Ljava/lang/String;Ljava/lang/Boolean;)I
versionDir:(Ljava/lang/String;Ljava/lang/Integer;Z)Ljava/lang/String;mkdirjava/nio/file/PathsgetStorageLocation lastModifiedjava/lang/Long(J)Ljava/lang/String;//J(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;(Ljava/io/File;)Vwritecloseformat$(Ljava/util/Date;)Ljava/lang/String;addprevjava/nio/file/FilesmoveY(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;� ê’6org/springframework/http/ResponseEntity$HeadersBuilder$java/lang/invoke/StringConcatFactory”Lookup˜(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;•%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandles!åæçèé êësìíèé êësîïèé êësðñèé êësòóôéõö÷éõøùéõúûéõüýéõþÿéõéõéõéõéõ 
/*·± S 

ìQ*´+¸¸N*´,¹ :-¶
™#-¶ À :*´
,¸¹,º° "xy!z({1|8}C|H >1Q
QèQèB!0è B ýH 
¡=*´
+¹MN¸-¸¹½Y,¹ºS¹À,¹° "„ …ˆ‰#‹.Š7Œ<ˆ *=
=è 2 !/"è#$%&
¼D*´
+,-¹ ::¸¸¹½Y¹ºS¹À¹° "•–™š)œ4›>�C™ >D
DèD'èD(è6 !2"è
'(#)*+
Ÿ ”+¹!N*´-¹":+¹#7+¹$:*´¹%”›
 ”�&°*´¹'¹(š)°*´
-¹*:+™
»,Y-·.¿*´¹/º0N*,-¶1°N-¶34°;Œ2<QŒ2R‹Œ2 B¥¦§¨#«9¬<°O³R`·h¸r»…½Œ¾�¿‘à \ …èy,èq-.#i/0`,1è�23”
”(4”è7ÿ9å56üÿå52 (é7ë[s89:;ës(<ës=>
K4+¶5:*´6¸7¹8:+¶9Æ
+¶9§:*´¹":*´¹::: *´¹;¹(™Ì*´<¹=:
*´< 
¸7-¹>:  ?:  @ºA:
 B™ ºC°*´¹/
º0:*´6¹D:»EY ·F:GÀH:I:ÇJ»KYL·M¿*´
¹NW*´
*´O¹P½¸Q¹RW:*,1°:

3S°F¢*2£)*2 vËÎÑ(Ô5×BÚFÞYßfàuá€ã‡ä“æ›ç£ì·íÄïÏðÙñàóåôêõôùüý"*,1 Êf¼?è
€¢@A ‡›Bè “�Cè
·kDèÄ^EèÏSFGÙIHIàBJK,23
4
4LM4è4Nè.èOè( Pè5ÿQèBòRSFîTè ©ý%@ÿ|åUVWÿPåUVWEHXÿ-
åUVG2
LNé7Y[sZ9:[<ës<ës\]^
ÞD*´+¶5¹TM*´
,¹N>*´
,¹U6™ ™§ºV°M,¶WºX°892