[iOS] Uploading an image will change the file size of the image
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- C++
- Star
- 127k
- Fork
- 25.3k
- Merge trung bình
- 1 ngày 23 giờ
- Pull request đã merge (30 ngày)
- 4
Mô tả
Description
I uploaded a 2M image and the server received a 6M image. After debugging, the form data sent by the RCTNetworking became larger.
Steps to reproduce
-
Clone the reproducer from
https://github.com/carverhong/react-native-reproducer-ios-image-upload.git. -
Install dependency and prepare the ios project.
cd react-native-reproducer-ios-image-upload
npm install
bundle install
cd ios
bundle exec pod install
After the installation is complete, the RCTNetworking log patch is automatically added for debugging.
- Start Metro.
npm start
- Open
HelloWorld.xcworkspacewith XCode and run the APP. - Use the
RCTNetworkingkeyword to filter logs.
React Native Version
0.72.15
Affected Platforms
Runtime - iOS
Output of npx react-native info
System:
OS: macOS 14.4.1
CPU: (8) arm64 Apple M3
Memory: 87.55 MB / 16.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 18.19.0
path: ~/tools/nodejs/node-v18.19.0-darwin-arm64/bin/node
Yarn: Not Found
npm:
version: 10.2.3
path: ~/tools/nodejs/node-v18.19.0-darwin-arm64/bin/npm
Watchman: Not Found
Managers:
CocoaPods: Not Found
SDKs:
iOS SDK:
Platforms:
- DriverKit 23.4
- iOS 17.4
- macOS 14.4
- tvOS 17.4
- visionOS 1.1
- watchOS 10.4
Android SDK: Not Found
IDEs:
Android Studio: 2023.1 AI-231.9392.1.2311.11076708
Xcode:
version: 15.3/15E204a
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.11
path: /usr/bin/javac
Ruby:
version: 2.6.10
path: /usr/bin/ruby
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 18.2.0
wanted: 18.2.0
react-native:
installed: 0.72.15
wanted: 0.72.15
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: false
iOS:
hermesEnabled: true
newArchEnabled: false
Stacktrace or Logs
[RCTNetworking processDataForHTTPQuery] file:///Users/carverhong/Library/Developer/CoreSimulator/Devices/E094052D-91B7-493F-A39A-72F089B8937D/data/Containers/Bundle/Application/8BFC2E5C-87BD-4295-A8F0-F04272BC374A/HelloWorld.app/20240808144728-0.jpg rawDataSize=2017293
[RCTNetworking handleResult] multipartDataSize=6151776
Reproducer
https://github.com/carverhong/react-native-reproducer-ios-image-upload.git
Screenshots and Videos
No response
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu với reproducer được cung cấp và các log RCTNetworking của nó, sau đó lần theo các đường đi processDataForHTTPQuery và handleResult. So sánh rawDataSize với multipartDataSize trong quá trình upload trên iOS và xác định sự phình to xảy ra ở đâu. Được xem là hoàn tất khi server nhận được hình ảnh đã upload mà không có mức tăng kích thước được báo cáo, kèm theo coverage hồi quy cho trường hợp này.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- ios, react-native
- Lĩnh vực
- mobile, networking
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 48/100