我创建了一个网站,您可以在samuelt1.me看到它。关键是您可以上传文件,然后使用URL从其他来源下载文件。问题是它无法下载到android。到目前为止,IOS工作正常。
我像这样使用ADB
adb logcat DownloadManager:I *:S
我遇到了这个问题:
I/DownloadManager( 9250): Initiating request for download id = 2011 with
mAllowedNetworkTypes = -1 forP2Pbit = 8194 W/DownloadManager( 9250):
Aborting request for download 2011: http error 403,
mContinuingDownload: false FinalStatus = 403
我认为它与我的服务器有关,但我的服务器与其他所有设备都可以正常工作。所以我不确定为什么它会破碎。另一个症状是它通常在第一次尝试时起作用,但在第二次或第三次下载时它将失败。这是完整的下载代码
include 'db.php';
include 'lib.php';
$id = preg_replace("/[^A-Za-z0-9 ()' -]/", '', optional_param('i', ''));
$query = "SELECT name, type, size, content " .
"FROM upload WHERE callId = '$id'";
$result = mysqli_query($mysqli, $query) or die('Error, query failed');
list($name, $type, $size, $content) = mysqli_fetch_array($result);
header("Content-length: $size");
header("Content-type: $type");
header("Content-Disposition: attachment; filename=$name");
header('Content-Transfer-Encoding: binary');
header('Accept-Ranges: bytes');
echo $content;
preg替换只是清理输入。
我几乎尝试了各种标题组合,所以我不认为这是问题所在。