Невозможно декодировать BASE64 в файл изображения в Selenium 2 - PullRequest
1 голос
/ 08 марта 2012

У меня есть изображение BASE64 из снимка экрана, которое я хотел бы преобразовать в файл image.png, но есть ошибки компиляции, которые я не могу понять.

    Object ss = ((TakesScreenshot) driver).getScreenshotAs(OutputType.BASE64);
    Base64 decoder = new Base64();
    Byte[] imgBytes = (Byte[]) decoder.decode(ss);
    FileOutputStream osf = new FileOutputStream(new File("./screenshots/"+ System.getProperty("logfilename") + ".png"));        
    osf.write(imgBytes);
    osf.flush();

Ошибка компиляции в приведенном выше коде находится в строке osf.write (imgBytes), где говорится, что метод write () не будет принимать объект Byte [], поскольку он сообщает, что метод принимает только write (int i). арг. Это странно, потому что когда вы видите опции, происходит запись (Byte [] b).

Не могли бы вы помочь мне решить эту загадку? Спасибо

Ответы [ 2 ]

3 голосов
/ 09 марта 2012

Если вы просто хотите сохранить его как файл, вам нужно просто использовать перечисление OutputFile.FILE.Это, по сути, оборачивает декодирование для вас.

1 голос
/ 09 марта 2012

Функция записи принимает примитивный байт, а не класс оболочки, т. Е. byte [] , а не Byte []. Так что ошибка компилятора ..

...