-
Notifications
You must be signed in to change notification settings - Fork 24.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ImageSource in Image doesn't send headers #33131
Comments
I am experiencing the exact same problem. |
Any solution here guys? I'm facing the same problem. The header in Image acting really weird on Android, but on IOS everything is still smooth |
I was teaching a University unit when I posted the issue. The workaround we had to go with was to send a regular GET request with the headers to get the image, convert the response to a base64 string, and then use that string as the source to the Image component. It works fine as a solution, but this issue is still valid as the component doesnt work as the documentation says it should. |
Thank you. Seems like it's a well-known bug, I found another topic of this on 2019 (#25945). |
Is there any progress on this one? It's a bit of a painful blocker unless we send auth material via query string... |
Please fix this |
Is this still not fixed or are we missing somthing ? the exact same thing is happening to me. |
Thanks for reporting! Is there anyway we can narrow this bug -- is there a particular platform this is happening on? |
I experienced it on iOS, but I think the original bug poster provided enough information. |
I can confirm the headers are still not sent. Here's how I solved this in my app (I used
|
Happens to me on ios if newArch is on, haven't check Android. |
+1 on iOS with new arch |
This basic feature is very useful to handle authenticated images, much efficient then building a base64 URL, especially in list views. Please consider adding it, it seems like a quick win. |
Also from a security aspect this is important because some websites allow to sent the authentication in the url as „?bearer=…“. When doing this and saving the image the token gets saved too as file name. the adding of headers is therefore essential |
same issue |
Same here on Android. It worked for me in version 0.68.2, but after upgrading to 0.73.4 all the images disappeared! I quickly need to update the app in the stores, because of new regulations... help! :( Update: If you are using Expo, there is a package called "expo-image", that works with headers. For non Expo users, you could try "react-native-fast-image". |
Has this bug been fixed? I have an issue with the image in this link reown-com/appkit-react-native#137 (comment) In the new architecture, when using modal, the components in the modal will flash first and then appear. |
After a fix for this too. Our UAT env's are closed behind headers, so we can't get images working properly in some cases. |
Same issue over here .. header is just not working. For those who still come here and read this: Use Expo's Image Component for now .. it is the same component almost and the header works there if youre lazy converting the image to base64. |
I had this issue when upgrading from 0.67.5 to 0.74.4. I found out that if we have this line: |
Issue still persist in react-native 0.74.3 :/ |
I'm trying to reproduce this and haven't been able to. In Android and iOS, inspecting the network requests when loading the image, seems to pass fine the headers. Here’s an example on Android and iOS showing the headers being passed as expected: Android and iOS network image request passing the headers correctly<Image
style={{width: 64, height: 64}}
source={{
uri: 'https://reactnative.dev/img/logo-og.png',
headers: {
Authorization: 'Bearer someToken',
}
}}
/> Can anyone else confirm if they’re seeing the same? I’m wondering if this issue could be related to caching: when the image is already cached on disk, for instance, it won’t make a new network request, so any new headers added wouldn’t apply. |
Description
According to the docs, the ImageSource prop in the Image component should allow for sending headers like this:
However, the headers aren't sent in any request.
Version
0.64.3
Output of
npx react-native info
System:
OS: Windows 10 10.0.19042
CPU: (8) x64 Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
Memory: 2.02 GB / 15.85 GB
Binaries:
Node: 16.13.2 - C:\Program Files\nodejs\node.EXE
Yarn: Not Found
npm: 8.1.2 - C:\Program Files\nodejs\npm.CMD
Watchman: Not Found
SDKs:
Android SDK:
API Levels: 27, 28, 29
Build Tools: 27.0.3, 28.0.3, 29.0.2
System Images: android-24 | Google Play Intel x86 Atom, android-27 | Google APIs Intel x86 Atom, android-28 | China version of Wear OS Intel x86 Atom, android-28 |
Google APIs Intel x86 Atom, android-29 | Google Play Intel x86 Atom
Android NDK: Not Found
Windows SDK: Not Found
IDEs:
Android Studio: Version 3.5.0.0 AI-191.8026.42.35.6010548
Visual Studio: Not Found
Languages:
Java: 11.0.11 - C:\Program Files\AdoptOpenJDK\jdk-11.0.11.9-hotspot\bin\javac.EXE
npmPackages:
@react-native-community/cli: Not Found
react: 17.0.1 => 17.0.1
react-native: 0.64.3 => 0.64.3
react-native-windows: Not Found
npmGlobalPackages:
react-native: Not Found
Steps to reproduce
<Image source={{ uri: "url to any image", headers: { "Content-Type": "image/jpeg", "X-Authorization": "thisismyauthtoken" } }} />
Snack, code example, screenshot, or link to a repository
The text was updated successfully, but these errors were encountered: