У меня была аналогичная проблема, и я обнаружил, что элементы UIWebView в IOS не поддерживают элемент html:
Я не уверен, почему Apple решила не поддерживать этот ВАЖНЫЙ элемент html, но Я уверен, что у них есть свои причины. (Несмотря на то, что этот элемент отлично работает на Safari в IOS.)
Во многих случаях, когда пользователь нажимает кнопку такого типа в UIWebView, он позволяет им выбирать / выбирать фотографию. ОДНАКО, UIWebView в IOS не имеет возможности прикреплять файлы, подобные этому, в данные POST при отправке формы.
Решение. Для выполнения той же задачи вы можете создать аналогичную форму в InterfaceBuilder с помощью кнопка, запускающая UIImagePickerController. Затем вы создаете запрос HTTP POST со всеми данными формы и изображением. Это не так сложно, как кажется, посмотрите ссылку ниже для некоторого примера кода, который выполняет задание: ios Загрузка изображения и текста с помощью HTTP POST
Для меня эта проблема была исправлена добавлением
file://
прямо перед адресом пути к файлу, например:
var filePath = "file://\(fileURLpath)"
Посмотрите эту ссылку для ответа Objective-c: Ошибка CFURLSetResourcePropertyForKey при отключении резервного копирования данных в NSDocumentDirectory
Ответ более старой версии Swift:
var str:String = "/var/mobile/Containers/Data/Application/3039975A-5E05-4A4C-8000-55C681A7C35F/Documents/index.html"
var url:URL = URL.init(fileURLWithPath: str)
Swift 4 Ответ:
var str:String = "/var/mobile/Containers/Data/Application/3039975A-5E05-4A4C-8000-55C681A7C35F/Documents/index.html"
var url:URL = URL(string: str)!
Посмотрите, я нахожу это, url
это The location to write the data into
. мы должны сказать системе a file path
.
Или, может быть, вы можете использовать NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("mypictostore", ofType: "png")!)
вместо NSURL(string: NSBundle.mainBundle().pathForResource("mypictostore", ofType: "png")!)