Using Images, SVG & File Upload
React Native: Using Images, SVG & File Upload (বাংলায় সম্পূর্ণ গাইড)
মোবাইল অ্যাপ ডেভেলপমেন্টে Image, SVG এবং File Upload খুব গুরুত্বপূর্ণ বিষয়। এই টপিকে আমরা জানবো—React Native এ কিভাবে লোকাল ইমেজ, নেটওয়ার্ক ইমেজ, SVG ফাইল এবং ইমেজ/ফাইল আপলোড করা যায় সহজভাবে।
📌 1. React Native এ ইমেজ ব্যবহার (Local, Remote, URI)
React Native এ ইমেজ লোড করার তিনটি প্রধান উপায় আছে:
- Local Image (অ্যাপের ভিতরের ফাইল)
- Remote Image (ইন্টারনেট থেকে)
- Base64 / URI Image
✔ Local Image Example
import React from 'react';
import { Image } from 'react-native';
export default function App() {
return (
<Image
source={require('./assets/logo.png')}
style={{ width: 150, height: 150 }}
/>
);
}
✔ Remote Image Example
<Image
source={{ uri: 'https://example.com/myimage.jpg' }}
style={{ width: 200, height: 200 }}
/>
✔ Image Resize Modes
React Native এ ইমেজ কিভাবে দেখাবে তা নিয়ন্ত্রণের জন্য resizeMode ব্যবহার হয়:
- cover
- contain
- stretch
- repeat
- center
<Image
resizeMode="cover"
style={{ width: 300, height: 200 }}
/>
📌 2. React Native এ SVG ব্যবহার
SVG আইকন বা ইলাস্ট্রেশন ব্যবহার করতে সবচেয়ে জনপ্রিয় লাইব্রেরি হলো: react-native-svg
✔ Installation
npm install react-native-svg
✔ Example SVG Component
import Svg, { Circle } from "react-native-svg";
export default function App() {
return (
<Svg height="150" width="150">
<Circle cx="75" cy="75" r="50" stroke="teal" strokeWidth="2.5" fill="lightblue" />
</Svg>
);
}
✔ SVG Icon ব্যবহার (react-native-svg-transformer)
যদি আপনি সরাসরি `.svg` ফাইল import করতে চান:
npm install react-native-svg-transformer
Example:
import Logo from './assets/logo.svg';
📌 3. React Native এ File Upload / Image Upload
File Upload করতে সাধারণত আমরা react-native-image-picker বা expo-image-picker ব্যবহার করি।
✔ Installation (React Native CLI)
npm install react-native-image-picker
✔ Example: Image Picker + Upload
import {launchImageLibrary} from 'react-native-image-picker';
const pickImage = () => {
launchImageLibrary(
{mediaType: 'photo'},
(response) => {
if (!response.didCancel && !response.errorCode) {
console.log("Selected Image: ", response.assets[0].uri);
}
}
);
};
✔ Upload Image to Server (Multipart Form Data)
const uploadImage = async (imageUri) => {
const formData = new FormData();
formData.append("file", {
uri: imageUri,
type: "image/jpeg",
name: "photo.jpg",
});
const res = await fetch("https://your-server.com/upload", {
method: "POST",
body: formData,
headers: {
"Content-Type": "multipart/form-data",
},
});
console.log(await res.json());
};
📌 4. Expo Users — Image & File Upload
✔ Installation
expo install expo-image-picker
✔ Example
import * as ImagePicker from 'expo-image-picker';
const pickImage = async () => {
const result = await ImagePicker.launchImageLibraryAsync({
mediaTypes: ImagePicker.MediaTypeOptions.Images,
});
if (!result.cancelled) {
console.log(result.uri);
}
};
📌 5. Best Practices
- ইমেজ compress করে আপলোড করা
- SVG ব্যবহার করলে অ্যাপ লাইটওয়েট হবে
- Lazy loading ইমেজ পারফরমেন্স বাড়ায়
- ক্যাশিং ব্যবহার করলে অ্যাপ দ্রুত চলে
✔ সারসংক্ষেপ
এই টপিকে আমরা শিখলাম—
- React Native এ Local & Remote Image ব্যবহার
- SVG ফাইল / আইকন ব্যবহার
- Image Picker দিয়ে ছবি নির্বাচন
- Server এ ইমেজ Upload
- Expo & CLI দুটোতেই কিভাবে কাজ করতে হয়
👼 Quiz
/