我正在尝试使用URLSessionUploadTask
使用方法将文件上传到API
uploadTask(with request: URLRequest, fromFile fileURL: URL) -> URLSessionUploadTask
一切正常,直到文件名不包含分号为止。
当文件名包含分号应用时,由于以下错误而开始崩溃-
***由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'无法在以下位置读取文件 文件:/// var / mobile / Containers / Data / Application / E647A171-A7CE-46D8-BE81-DB3626DD0157 / Library / Caches / downloads / 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 []; \'。,_;日志-复制(1).ppt ”
“ ;. pdf ”
“ ] ;. ppt ”
如果有人遇到相同问题,请提供帮助。预先感谢。
答案 0 :(得分:0)
您能否尝试将; 替换为一些文本,并在服务器端再次将一些文本替换为;
示例:-
如果(文件名包含;),则文件名替换为“ SEMICOLON”。
上传文件时的应用程序端:-
真实文件名= “ ;. pdf”
上传文件时的新名称= “ SEMICOLON.pdf”
在服务器端将文件保存到数据库中时:-
响应中的文件名= “ SEMICOLON.pdf”
保存到数据库中时的新名称= “ ;. pdf”