Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift-stringByEvaluatingJavaScriptFromString<;输入类型=";文件">;-上传图像_Javascript_Ios_Swift_Xcode6_Stringbyevaluatingjavascr - Fatal编程技术网

Swift-stringByEvaluatingJavaScriptFromString<;输入类型=";文件">;-上传图像

Swift-stringByEvaluatingJavaScriptFromString<;输入类型=";文件">;-上传图像,javascript,ios,swift,xcode6,stringbyevaluatingjavascr,Javascript,Ios,Swift,Xcode6,Stringbyevaluatingjavascr,在我的应用程序中,我允许用户访问UIImagePickerController,允许他们拍摄照片或从库中选择保存到DocumentDirectory中的路径: //Obtaining Saving Path let path:NSArray = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) let documentDirectory: AnyObject

在我的应用程序中,我允许用户访问UIImagePickerController,允许他们拍摄照片或从库中选择保存到DocumentDirectory中的路径:

        //Obtaining Saving Path
    let path:NSArray = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
    let documentDirectory: AnyObject = path.objectAtIndex(0)
    let imagePath = documentDirectory.stringByAppendingPathComponent("Photo.png")

    //casting the image selected as a UIImage
    var chosenImage: UIImage = info[UIImagePickerControllerOriginalImage] as UIImage

    //writing it to the set imagePath
    UIImagePNGRepresentation(chosenImage).writeToFile(imagePath, atomically: true)
我的目标是访问从另一个ViewController的WebView中保存的文件,并运行一些JS在页面加载完成时自动上传文件,而不是单击“选择文件”按钮并选择文件等

这是我要调整其值的元素

<input type="file" name="field_153" id="field_153">
我尝试过使用imagePath和savedPhoto,但这显然不像向元素输入文本值那么简单

使用JS可以做到这一点吗?还是有更简单的替代方法来实现这一点


谢谢

浏览器通常不允许JavaScript设置文件上传路径。这可以防止恶意网站自动上传文件。你是想对所有网页都这样做,还是只对你自己的某些网页这样做?嗨,布莱恩,我需要在7个不同的网站上运行这个。这些不是我自己的站点,但我的代码在执行任何JS之前都会对url进行检查。(我还让它填写文本字段等)-在我浪费更多时间之前,有没有办法检查是否可能?ThanksI找不到规范源,但所有的答案都指向“否”。您可以尝试一种方法,截取来自浏览器的post请求,并将其替换为使用字段值和图像构造的post请求,但这可能很脆弱/有风险。
func webViewDidFinishLoad(webView: UIWebView) {

//Retreive a UIImage object from disk
let path:NSArray = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
let documentDirectory: AnyObject = path.objectAtIndex(0)
let imagePath = documentDirectory.stringByAppendingPathComponent("Photo.png")
let savedPhoto: UIImage = UIImage(contentsOfFile: imagePath)!

....
let uploadPictureJS = "var inputFields = document.getElementById('field_153'); inputFields.value = '\(imagePath)';"
self.webView.stringByEvaluatingJavaScriptFromString(uploadPictureJS) }