我正在使用
flutter_inappwebview
包以在我的应用程序中显示web内容。我遇到了一个问题,无法从网络视图中下载文件。
检测时
onDownloadStartRequest
,我正在使用
flutter_downloader
包下载文件(在这种情况下为PDF)。
以下是我的代码的简化版本:
InAppWebView(
initialUrlRequest: URLRequest(
url: Uri.parse(
'https://www.learningcontainer.com/sample-pdf-files-for-testing/'),
),
initialOptions: InAppWebViewGroupOptions(
crossPlatform: InAppWebViewOptions(
useOnDownloadStart: true,
),
),
onDownloadStartRequest: (controller, request) async {
if (kDebugMode) {
print('onDownloadStart $request');
}
final taskId = await FlutterDownloader.enqueue(
url: request.url.toString(),
savedDir: (await getExternalStorageDirectory())?.path ?? '',
);
},
)
我收到这个错误(在Android上测试):
D/DownloadWorker(19088):
下载Worker{url=https://www.learningcontainer.com/download/sample-pdf-file-for-testing/?wpdmdl=1566&refresh=6479b7a279f2e1685698466,filename=null,savedDir=/storage/emulated/0/Android/data/co.home365.tenant_app.dev/files,header={},isResume=false,status=ENQUEUED
E/FrameEvents(19088):updateAcquireFence:未找到帧。
D/DownloadWorker(19088):更新通知:{notificationId:1,
标题:
https://www.learningcontainer.com/download/sample-pdf-file-for-testing/?wpdmdl=1566&refresh=6479b7a279f2e1685698466
,
状态:正在运行,进度:0}E/FrameEvents(19088):
updateAcquireFence:未找到帧。D/DownloadWorker(19088):打开
连接到
https://www.learningcontainer.com/download/sample-pdf-file-for-testing/?wpdmdl=1566&刷新=6479b7a279f2e1685698466
D/DownloadWorker(19088):标头={}D/TrafficStats(19088
tagSocket(213),带statsTag=0xffffff,statsUid=-1
E/FrameEvents(19088):updateAcquireFence:未找到帧。
E/FrameEvents(19088):updateAcquireFence:未找到帧。
I/trustAllHosts(19088):checkServer受信任的I/flutter(19088
错误:找不到回调F/chromium(19088):
[致命:aw_draw_fn_impl.cc(263)]OnContextDestroyed调用于:
20580/2.版本:19127 D/BufferPoolAccessor2.0(19088):缓冲池2
0xb400007756ae128:0(0大小)总缓冲区-0(0尺寸)已用缓冲区
-
28/34(回收/分配)-6/34(提取/传输)D/BufferPoolAccessor2.0(19088):缓冲池0xb400007756eb358:0(0
大小)总缓冲区-0(0大小)已用缓冲区-11/16(回收/分配)-
5/12(获取/传输)D/BufferPoolAccessor2.0(19088):驱逐程序已过期:
2,驱逐:2 F/防撞垫(20595):-----BEGIN crashpad MINIDUMP-----
F/crashpad(20595):-----BEGIN crashpad MINIDUMP-----
F/防撞垫(20595):
)iyJ“&eUWh06T-%QIZqylcYQBGc=1QO\MSA}98WBL3=/C]$q^/YQV]<],DDB8I+
fj&+T]D/9X}n>rsC):_e[m)u,H1TFT8afwv
R2&v6DoYbkS?X/xA4!1%k6=x.j)w%u,v~+!
tMQ+vGV0x@,6K&;"w<ESvDmg[(Cb\n<W.$9JKJM75b49oQc5uLoX%iE!Wh'se#i]8(sH
v>&y~o~=O|zpA0v)~@<x、 F“:8ko22Q9-e8@~&mg6,onJv,%*t2Gxz(twzyMTy2EhCEaab”zq,bptgkW37\M1,BbmL:px^2E'-|oFs#62EEI<SdE[5]$-[nb@tc:[I!<Q,~%28-x-S^0pulini@-ow#“]->5|4v/{4R[=vJtHwrew-
ioYn58XYP]AnhR>rR<
[email protected]
+-4Rnvsg#7"=1$>!b;!ROo~<l+4faT;t[K:fLB.9VL@R+kxnBjjD6Z<Yt9mUWS(:
[email protected]
/UaZ>~o6
Y~9o5>nl83k$+
我做错了什么?
为什么我不能使用下载文件
flutter_inappwebview
包裹
扑动医生:
医生总结(要查看所有细节,请运行扑动医生-v):[]
Flutter(通道稳定,3.7.6,在macOS 13.4 22F66 darwin-arm64上
(Rosetta),locale en IL)[]Android工具链-为Android开发
设备(Android SDK版本33.0.0)[]Xcode-为iOS和
macOS(Xcode 14.3.1)[]Chrome-为网络开发[]Android
Studio(版本2021.2)[]VS代码(版本1.78.2)[]已连接
设备(3个可用)[]HTTP主机可用性