2014-09-23 4 views
2
나는 다음 데모이 (iOS 용 jsFiddle 링크 - http://jsfiddle.net/gys6rubg/1/를) 설명을 FileReader는 아이폰 OS 8에서 동작하지 않습니다

:을 FileReader는 iOS에서 작동하지 않는 8

var file = document.getElementById('file-input'); 
 
file.addEventListener('change', function(event) { 
 
    var file = this.files[0]; 
 
    
 
    if(!file) { 
 
     alert('No file'); 
 
     return; 
 
    } 
 
    
 
    var reader = new FileReader(); 
 
    var timeout = setTimeout(function() { 
 
     alert('FileReader not functioning'); 
 
    }, 500); 
 
    reader.onload = function(event) { 
 
     clearTimeout(timeout); 
 
     alert('Base64 length - ' + event.target.result.length); 
 
    };  
 
    
 
    reader.readAsDataURL(file); 
 
});
<form> 
 
    <input id="file-input" type="file" /> 
 
</form>

이 콘솔 .log는 대부분의 브라우저에서 Base64 문자열의 길이이지만 iOS 8 Safari에서는 console.log의 'FileReader not functionaling'입니다.

이 문제를 해결할 방법이 있을까요? 아니면 잘못하고있는 것이 있습니까?

+0

로그인하지 않은 동안 실수로 게시물을 편집했습니다. – jkjustjoshing

답변

2

it's a bug

은 다음 릴리스

+0

알려진 해결 방법은 없습니까? – jkjustjoshing

+0

정말 유용한 것은 없습니다. 분명히 그것은 홈 화면에 웹 페이지를 고정하고 고정하는 시점에 작동하지만 시도하지 않았습니다. – sutora

+0

"iOS 8 버그가 있습니다. 다른 장치를 사용하거나 전화를 업그레이드하십시오."라는 오류 메시지가 나타납니다. 감사. – jkjustjoshing

1

내가 아이폰에 사파리와 같은 문제가 있습니다에서 해결해야한다 (하지만 문제는 아이폰에 대한 크롬에 존재하지 않습니다!).

reader.onerror = function (e) { 
    alert("error " + e.target.error.code + " \n\niPhone iOS8 Permissions Error."); 
} 

당신이 얻을 것이다 오류 코드 4. 따르면

오류 코드 4 = NOT_READABLE_ERR HTMLGoodies - Responding to HTML5 FileReader Events에 : 오류 이벤트 핸들러를 추가하는 경우

파일로 인해 변화를 읽을 수 없습니다 다른 프로그램에서 파일을 잠 갔기 때문에 파일을 가져온 이후에 권한에.

+0

UIWebView는 영향을받지 않으며 WKWebView 만 영향을받습니다. Chrome은 UIWebView를 사용하므로 (아직 WKWebView로 이동하지 않았다고 생각합니다) 문제가 발생하지 않습니다. – jkjustjoshing

+0

iOS9를 사용하고 있는데 iCloud 파일 (즉, 점 번호 파일)을 읽을 때이 문제가 발생합니다. 그것은 나에게 오류 코드 4를 제공하고있다. 파일이 카메라 롤의 이미지라면 아무 문제도 없다. – woran

관련 문제