Repository: tauri
Issue: [bug] Android use convertFileSrc() with customized protocol to load local video source not work and trigger so many same range request header
Labels: type: bug,status: needs triage

### Describe the bug

on android platform,when use convertFileSrc method with customized protocol to load local file to gen a video src, when load video, the request header will like range: bytes=0-, when load large video file,this will trigger OOM and crashed, if response with not all file, it will trigger so many same range request,such as range: bytes=123-, and the video could not play. but it work well in http src.

### Reproduction

// customized response
http::Response::builder()
            .status(code)
            .header("Content-Type", get_mime_type(&path))
            .header("Connection", "Keep-Alive")
            .header("Keep-Alive", "timeout=58")
            .header("Accept-Ranges", "bytes")
            .header("Last-Modified", last_modified_str)
            .header("Content-Length", (byte_range.2).to_string())
            .header(
                "Content-Range",
                format!("bytes {}-{}/{}", byte_range.0, byte_range.1, file_size),
            )
            .body(data)
            .unwrap();

### Expected behavior

expect the customize protocol can behave as same as normal http src, because the same custmized protocol work well on ios, is there the android webview video load request as same as ios?

### Full `tauri info` output

```text
[✔] Environment
    - OS: Windows 10.0.17763 x86_64 (X64)
    ✔ WebView2: 131.0.2903.99
    ✔ MSVC: Visual Studio Community 2022
    ✔ rustc: 1.79.0 (129f3b996 2024-06-10)
    ✔ cargo: 1.79.0 (ffa9cf99a 2024-06-03)
    ✔ rustup: 1.27.1 (54dd3d00f 2024-04-24)
    ✔ Rust toolchain: stable-x86_64-pc-windows-msvc (default)
    - node: 20.12.2
    - npm: 10.5.0

[-] Packages
    - tauri �: 2.1.1
    - tauri-build �: 2.0.3
    - wry �: 0.47.2
    - tao �: 0.30.8
    - tauri-cli �: 1.6.0
    - @tauri-apps/api : 2.1.1
    - @tauri-apps/cli : 2.1.0

[-] Plugins
    - tauri-plugin-fs �: 2.0.3
    - @tauri-apps/plugin-fs : 2.0.3 (outdated, latest: 2.2.0)
    - tauri-plugin-localhost �: 2.0.1
    - @tauri-apps/plugin-localhost : not installed!
    - tauri-plugin-persisted-scope �: 2.0.3
    - @tauri-apps/plugin-persisted-scope : not installed!
    - tauri-plugin-sql �: 2.0.2
    - @tauri-apps/plugin-sql : not installed!
    - tauri-plugin-http �: 2.0.3
    - @tauri-apps/plugin-http : not installed!
    - tauri-plugin-upload �: 2.1.0
    - @tauri-apps/plugin-upload : 2.2.1
    - tauri-plugin-os �: 2.0.1
    - @tauri-apps/plugin-os : 2.0.0 (outdated, latest: 2.2.0)
    - tauri-plugin-store �: 2.1.0
    - @tauri-apps/plugin-store : 2.1.0 (outdated, latest: 2.2.0)
    - tauri-plugin-barcode-scanner �: 2.0.1
    - @tauri-apps/plugin-barcode-scanner : not installed!
    - tauri-plugin-shell �: 2.0.2
    - @tauri-apps/plugin-shell : 2.0.1 (outdated, latest: 2.2.0)
    - tauri-plugin-log �: 2.0.2
    - @tauri-apps/plugin-log : 2.0.1 (outdated, latest: 2.2.0)
```


### Stack trace

```text
12-20 17:42:59.596 21235 21290 I RustStdoutStderr: headerName:"origin",headerValue:Ok("http://tauri.localhost")
12-20 17:42:59.596 21235 21290 I RustStdoutStderr: headerName:"referer",headerValue:Ok("http://tauri.localhost/")
12-20 17:42:59.597 21235 21290 I RustStdoutStderr: headerName:"accept-encoding",headerValue:Ok("identity;q=1, *;q=0")
12-20 17:42:59.597 21235 21290 I RustStdoutStderr: headerName:"range",headerValue:Ok("bytes=753664-")
12-20 17:42:59.597 21235 21290 I RustStdoutStderr: headerName:"accept",headerValue:Ok("*/*")
12-20 17:43:01.720 21235 21290 I RustStdoutStderr: headerName:"origin",headerValue:Ok("http://tauri.localhost")
12-20 17:43:01.720 21235 21290 I RustStdoutStderr: headerName:"referer",headerValue:Ok("http://tauri.localhost/")
12-20 17:43:01.721 21235 21290 I RustStdoutStderr: headerName:"accept-encoding",headerValue:Ok("identity;q=1, *;q=0")
12-20 17:43:01.721 21235 21290 I RustStdoutStderr: headerName:"range",headerValue:Ok("bytes=753664-")
12-20 17:43:01.721 21235 21290 I RustStdoutStderr: headerName:"accept",headerValue:Ok("*/*")
```


### Additional context

_No response_