docstr: Upload a file to the artifact store and write to cache.
docstr_tok: ["Upload","a","file","to","the","artifact","store","and","write","to","cache","."]
code: def default_file_upload(
      self,
      upload_url: str,
      file_path: str,
      extra_headers: Dict[str, Any],
      progress_callback: Optional["progress.ProgressFn"] = None,
  ) -> None:
      """Upload a file to the artifact store and write to cache."""
      with open(file_path, "rb") as file:
          # This fails if we don't send the first byte before the signed URL expires.
          self._api.upload_file_retry(
              upload_url,
              file,
              progress_callback,
              extra_headers=extra_headers,
          )
  
imports: import hashlib
  import math
  import shutil
  from typing import TYPE_CHECKING, Any, Dict, List, Optional, Sequence, Union
  from urllib.parse import quote
  import requests
  import urllib3
  from wandb.apis import InternalApi
  from wandb.errors.term import termwarn
  from wandb.sdk.artifacts.artifact_file_cache import ArtifactFileCache, get_artifact_file_cache
  from wandb.sdk.artifacts.storage_handlers.azure_handler import AzureHandler
  from wandb.sdk.artifacts.storage_handlers.gcs_handler import GCSHandler
  from wandb.sdk.artifacts.storage_handlers.http_handler import HTTPHandler
  from wandb.sdk.artifacts.storage_handlers.local_file_handler import LocalFileHandler
  from wandb.sdk.artifacts.storage_handlers.multi_handler import MultiHandler
  from wandb.sdk.artifacts.storage_handlers.s3_handler import S3Handler
  from wandb.sdk.artifacts.storage_handlers.tracking_handler import TrackingHandler
  from wandb.sdk.artifacts.storage_handlers.wb_artifact_handler import WBArtifactHandler
  from wandb.sdk.artifacts.storage_handlers.wb_local_artifact_handler import WBLocalArtifactHandler
  from wandb.sdk.artifacts.storage_layout import StorageLayout
  from wandb.sdk.artifacts.storage_policies.register import WANDB_STORAGE_POLICY
  from wandb.sdk.artifacts.storage_policy import StoragePolicy
  from wandb.sdk.internal.thread_local_settings import _thread_local_api_settings
  from wandb.sdk.lib.hashutil import B64MD5, b64_to_hex_id, hex_to_b64_id
  from wandb.sdk.lib.paths import FilePathStr, URIStr
label_desc: Use image node_id 10 for calling the WandbStoragePolicy obj's underlying member method code with example usage: obj.default_file_upload(upload_url, file_path, extra_headers, progress_callback) without return types