From be1616d6b687a20fba7b6fb3d24613db35379ddd Mon Sep 17 00:00:00 2001 From: suxa Date: Mon, 20 Mar 2023 15:13:38 +0500 Subject: [PATCH] ruby: save file in response type --- .../ruby/app/controllers/home_controller.rb | 4 ++-- .../ruby/app/models/service_converter.rb | 11 +++++++---- .../ruby/app/models/track_helper.rb | 4 ++-- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/web/documentserver-example/ruby/app/controllers/home_controller.rb b/web/documentserver-example/ruby/app/controllers/home_controller.rb index d63d1193..c880a4b6 100755 --- a/web/documentserver-example/ruby/app/controllers/home_controller.rb +++ b/web/documentserver-example/ruby/app/controllers/home_controller.rb @@ -102,7 +102,7 @@ class HomeController < ApplicationController if DocumentHelper.convert_exts.include? (extension) # check if the file with such an extension can be converted key = ServiceConverter.generate_revision_id(file_uri) # generate document key - percent, new_file_uri = ServiceConverter.get_converted_uri(file_uri, extension.delete('.'), internal_extension.delete('.'), key, true, file_pass, lang) # get the url of the converted file and the conversion percentage + percent, new_file_uri, new_file_type = ServiceConverter.get_converted_data(file_uri, extension.delete('.'), internal_extension.delete('.'), key, true, file_pass, lang) # get the url and file type of the converted file and the conversion percentage # if the conversion isn't completed, write file name and step values to the response if percent != 100 @@ -111,7 +111,7 @@ class HomeController < ApplicationController end # get the correct file name if such a name already exists - correct_name = DocumentHelper.get_correct_name(File.basename(file_name, extension) + internal_extension, nil) + correct_name = DocumentHelper.get_correct_name(File.basename(file_name, extension) + "." + new_file_type, nil) uri = URI.parse(new_file_uri) # create the request url http = Net::HTTP.new(uri.host, uri.port) # create a connection to the http server diff --git a/web/documentserver-example/ruby/app/models/service_converter.rb b/web/documentserver-example/ruby/app/models/service_converter.rb index 40aed30b..cbe35a1c 100755 --- a/web/documentserver-example/ruby/app/models/service_converter.rb +++ b/web/documentserver-example/ruby/app/models/service_converter.rb @@ -22,7 +22,7 @@ class ServiceConverter class << self # get the url of the converted file - def get_converted_uri(document_uri, from_ext, to_ext, document_revision_id, is_async, file_pass, lang = nil) + def get_converted_data(document_uri, from_ext, to_ext, document_revision_id, is_async, file_pass, lang = nil) from_ext = from_ext == nil ? File.extname(document_uri).downcase : from_ext # get the current document extension @@ -81,7 +81,7 @@ class ServiceConverter end json_data = JSON.parse(data) # parse response body - return get_response_uri(json_data) # get response url + return get_response_data(json_data) # get response url end # generate the document key value @@ -132,7 +132,7 @@ class ServiceConverter end # get the response url - def get_response_uri(json_data) + def get_response_data(json_data) file_result = json_data @@ -145,16 +145,19 @@ class ServiceConverter result_percent = 0 # the conversion percentage response_uri = '' + response_file_type = '' if is_end_convert # if the conversion is completed file_url_element = file_result['fileUrl'] + file_type_element = file_result['fileType'] if file_url_element == nil # and the file url doesn't exist raise 'Invalid answer format' # get ann error message end response_uri = file_url_element # otherwise, get the file url + response_file_type = file_type_element # get the file type result_percent = 100 else # if the conversion isn't completed @@ -169,7 +172,7 @@ class ServiceConverter end - return result_percent, response_uri + return result_percent, response_uri, response_file_type end end diff --git a/web/documentserver-example/ruby/app/models/track_helper.rb b/web/documentserver-example/ruby/app/models/track_helper.rb index 12320b73..2e0fef3b 100755 --- a/web/documentserver-example/ruby/app/models/track_helper.rb +++ b/web/documentserver-example/ruby/app/models/track_helper.rb @@ -77,7 +77,7 @@ class TrackHelper unless cur_ext.eql?(download_ext) key = ServiceConverter.generate_revision_id(download_uri) # get the document key begin - percent, new_file_uri = ServiceConverter.get_converted_uri(download_uri, download_ext.delete('.'), cur_ext.delete('.'), key, false, nil) # get the url of the converted file + percent, new_file_uri, new_file_type = ServiceConverter.get_converted_data(download_uri, download_ext.delete('.'), cur_ext.delete('.'), key, false, nil) # get the url of the converted file if new_file_uri == nil || new_file_uri.empty? new_file_name = DocumentHelper.get_correct_name(File.basename(file_name, cur_ext) + download_ext, user_address) # get the correct file name if it already exists else @@ -156,7 +156,7 @@ class TrackHelper unless cur_ext.eql?(download_ext) key = ServiceConverter.generate_revision_id(download_uri) # get the document key begin - percent, new_file_uri = ServiceConverter.get_converted_uri(download_uri, download_ext.delete('.'), cur_ext.delete('.'), key, false, nil) # get the url of the converted file + percent, new_file_uri, new_file_type = ServiceConverter.get_converted_data(download_uri, download_ext.delete('.'), cur_ext.delete('.'), key, false, nil) # get the url of the converted file if new_file_uri == nil || new_file_uri.empty? new_file_name = true else