Skip to content

Android: Network Error when sending FormData with file upload (Axios/Fetch) - React-Native 0/84 #55841

@emrektc70

Description

@emrektc70

Description

When attempting to upload a file using FormData on Android, the request immediately fails with a generic Network Error (or TypeError: Network request failed with fetch). The same code works perfectly on iOS.

`export type CreateAgencyTimelineParams = {
agency?: Iri<API.AGENCIES>
/**
* Should be a File
*/
file?: any | undefined
status: Iri<API.TIMELINE_STATUSES>
comment: string
parent?: string | null
tags?: string[]
}

export function createAgencyTimeline(
params: CreateAgencyTimelineParams,
config?: ExtendedAxiosRequestConfig
) {
const form = new FormData()

form.append('agency', params.agency as string)
form.append('comment', params.comment)
form.append('status', params.status as string)

if (!!params.parent?.length) form.append('parent', params.parent as string)

if (params.file) {
    form.append('file', params.file)
}
if (params.tags && params.tags.length > 0) {
    params.tags.forEach(tag => form.append('tags[]', tag))
}

return (config?.instance ?? axios).post('/api/agency/timelines-simple', form, {
    ...(config ?? {}),
    transformRequest: data => {
        return data
    }
})

}`

Steps to reproduce

Pick a file using a library like react-native-image-picker or expo-image-picker on an Android Emulator or device.

Construct a FormData object and append a file using the standard React Native format:

JavaScript
const formData = new FormData();
formData.append('file', {
uri: file.uri, // Ensure it starts with file:///
type: 'image/jpeg',
name: 'photo.jpg',
});
Execute a POST request using Axios (with a custom instance) or Fetch to a remote server.

Observe the result: On iOS, the request is successful. On Android, it immediately throws a Network Error before even hitting the server (no outgoing traffic visible in server logs).

React Native Version

0.84.0

Affected Platforms

Runtime - Android

Output of npx @react-native-community/cli info

info Fetching system and libraries information...
System:
  OS: macOS 26.3
  CPU: (12) arm64 Apple M4 Pro
  Memory: 2.43 GB / 24.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 24.13.0
    path: ~/.nvm/versions/node/v24.13.0/bin/node
  Yarn:
    version: 4.8.1
    path: ~/.nvm/versions/node/v24.13.0/bin/yarn
  npm:
    version: 8.19.4
    path: ~/Developer/studiosystems-monorepo/node_modules/.bin/npm
  Watchman:
    version: 2024.12.02.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.16.2
    path: /Users/emrekartici/.rbenv/shims/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 25.2
      - iOS 26.2
      - macOS 26.2
      - tvOS 26.2
      - visionOS 26.2
      - watchOS 26.2
  Android SDK:
    API Levels:
      - "33"
      - "34"
      - "35"
      - "36"
    Build Tools:
      - 34.0.0
      - 35.0.0
      - 36.0.0
    System Images:
      - android-34 | Google APIs ARM 64 v8a
      - android-35 | Google Play ARM 64 v8a
      - android-36 | Google Play ARM 64 v8a
    Android NDK: Not Found
IDEs:
  Android Studio: 2024.3 AI-243.26053.27.2432.13536105
  Xcode:
    version: 26.2/17C52
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 21.0.6
    path: /usr/bin/javac
  Ruby:
    version: 2.7.8
    path: /Users/emrekartici/.rbenv/shims/ruby
npmPackages:
  "@react-native-community/cli":
    installed: 20.1.0
    wanted: 20.1.0
  react:
    installed: 19.2.3
    wanted: 19.2.3
  react-native:
    installed: 0.84.0
    wanted: 0.84.0
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: true
  newArchEnabled: true

Stacktrace or Logs

Network error

MANDATORY Reproducer

/

Screenshots and Videos

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Needs: Author FeedbackNeeds: ReproThis issue could be improved with a clear list of steps to reproduce the issue.Platform: AndroidAndroid applications.Platform: iOSiOS applications.StaleThere has been a lack of activity on this issue and it may be closed soon.🌐NetworkingRelated to a networking API.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions