我需要编写一个文件上传器PPAPI插件,而不是在Chrome中使用NPAPI。
我在hello_nacl_cpp
示例中扩展vs_addin
项目以测试PPAPI和NaCl。代码类似于:
...
int32_t showSelectFileDialog() {
pp::CompletionCallbackWithOutput< std::vector<pp::FileRef> > cb =
factory_.NewCallbackWithOutput(&NaClProjectInstance::onFilesSelected);
int32_t ret = file_chooser_.Show(cb);
return ret;
}
void onFilesSelected(int32_t result,
const std::vector<pp::FileRef>& files) {
std::stringstream ss;
if (result == PP_OK) {
// ok
} else {
ss << "undo select file? error code: " << result;
PostMessage(pp::Var(ss.str()));
}
}
...
如果我选择PPAPI平台并调试上面的代码,那就没问题。但在NaCl64平台上,结果为PP_ERROR_NO_USER_GESTURE(-41)
。我该如何解决这个问题?
答案 0 :(得分:0)
/ ** *此值表示由于缺少诸如a的用户手势而导致的失败 *鼠标点击或键输入事件。需要用户的操作示例 *手势显示文件选择器对话框并进入全屏 *模式。 * / PP_ERROR_NO_USER_GESTURE = -41,
在HandleInputEvent中调用showSelectFileDialog()