Ошибка загрузки файла для файлов, которые содержат точку с запятой (;) в имени файла - PullRequest
0 голосов
/ 22 апреля 2019

Я пытаюсь загрузить файл в API с помощью URLSessionUploadTask, используя метод

uploadTask(with request: URLRequest, fromFile fileURL: URL) -> URLSessionUploadTask

Все работает идеально, пока имя файла не содержит точку с запятой.

Когда имя файласодержит точку с запятой при запуске приложения со следующей ошибкой -

*** Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «Невозможно прочитать файл в файле: /// var / mobile / Containers / Data/ Применение / E647A171-A7CE-46D8-BE81-DB3626DD0157 / Библиотека / кэши / загрузки / 04405877-1554-744f-92ac-379c76300cd8 / C8D67486-B79F-44C7-9295-768F0D4D0323 / appium% 20! @% 23 $% 25%5E & - + =% 7B% 7Dl% 5B% 5D% 20; '., % 20% 20;% 20logs% 20-% 20Copy% 20 (1) .ppt'

Пример FileName, приводящий к сбою моего приложения:

" appium! @ # $% ^ & _- + = {} l []; \ '., _; Logs -Копия (1) .ppt "

" ;. Pdf"

" ] ;. ppt"

Пожалуйста, помогите, если кто-нибудь столкнулся с той же проблемой.Заранее спасибо.

1 Ответ

0 голосов
/ 22 апреля 2019

Можете ли вы попробовать заменить ; на некоторый текст , а на стороне сервера снова некоторый текст на ;

Пример: -

если (имя файла содержит;), тогда имя файла заменить на "SEMICOLON".

Сторона приложения при загрузке файла: -

Реальное имя файла = ";. pdf" Новое имя при загрузке файла = "SEMICOLON.pdf"

На стороне сервера при сохранении файла в базе данных: -

Имя файла в ответе = "SEMICOLON.pdf" Новое имя при сохранении в базе данных = ";. pdf"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...