选择要上传的文件会导致移动 Safari 崩溃



在使用<input type="file">让用户上传图像时,至少在我的iPhone 6 Plus上,我一直在遇到行为。

<div class="add__from-camera">
    <button class="add__from-camera__btn">
        <i class="fa fa-fw fa-camera"></i> Add with Camera
    </button>
    <input class="add__from-camera__input" type="file">
</div>

这种休息情况大约 50% 的时间会导致选项卡崩溃,在我的应用程序中大约 90% 的时间会导致选项卡崩溃。

我很"幸运",当错误发生时,所有 Safari 都崩溃了一次,这是日志的一部分:

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x00030000006467ba
Triggered by Thread:  0
Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   WebKit                          0x000000018a48566c WebKit::WebPageProxy::didChooseFilesForOpenPanelWithDisplayStringAndIcon(WTF::Vector<WTF::String, 0ul, WTF::CrashOnOverflow> const&, WTF::String const&, API::Data const*) + 44
1   WebKit                          0x000000018a461648 WebKit::WebOpenPanelResultListenerProxy::chooseFiles(API::Array*, API::String*, API::Data const*) + 100
2   WebKit                          0x000000018a461648 WebKit::WebOpenPanelResultListenerProxy::chooseFiles(API::Array*, API::String*, API::Data const*) + 100
3   WebKit                          0x000000018a413020 -[WKFileUploadPanel _chooseFiles:displayString:iconImage:] + 468

它似乎表明显示小缩略图预览时出现(溢出?有没有办法防止Safari在使用文件输入时崩溃,或者至少不渲染缩略图预览?

试试这个:

<input class="add__from-camera__input" type="file" accept="image/*;capture=camera">

最新更新