react-native-cloudinary-unsigned
This module helps you to send files to Cloudinary through an upload profile.
Getting started
$ npm install react-native-cloudinary-unsigned --save
Mostly automatic installation
$ react-native link react-native-cloudinary-unsigned
Manual installation
iOS
- In XCode, in the project navigator, right click
Libraries
➜ Add Files to [your project's name]
- Go to
node_modules
➜ react-native-cloudinary-unsigned
and add RNCloudinaryUnsigned.xcodeproj
- In XCode, in the project navigator, select your project. Add
libRNCloudinaryUnsigned.a
to your project's Build Phases
➜ Link Binary With Libraries
- Run your project (
Cmd+R
)<
Android
- Open up
android/app/src/main/java/[...]/MainActivity.java
- Add
import com.reactlibrary.RNCloudinaryUnsignedPackage;
to the imports at the top of the file - Add
new RNCloudinaryUnsignedPackage()
to the list returned by the getPackages()
method
- Append the following lines to
android/settings.gradle
:
include ':react-native-cloudinary-unsigned'
project(':react-native-cloudinary-unsigned').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-cloudinary-unsigned/android')
- Insert the following lines inside the dependencies block in
android/app/build.gradle
:
compile project(':react-native-cloudinary-unsigned')
Usage
import RNCloudinaryUnsigned from "react-native-cloudinary-unsigned";
const CLOUDINARY_CLOUD_NAME = "xxxxxx";
const CLOUDINARY_UPLOAD_PROFILE_NAME = "xxxxxx";
RNCloudinaryUnsigned.init(CLOUDINARY_CLOUD_NAME, CLOUDINARY_UPLOAD_PROFILE_NAME)
.then(res => console.log(res))
.catch(err => console.error(err));
export default class App extends Component {
uploadImage = file => {
RNCloudinaryUnsigned.upload(file)
.then(res => console.log(res))
.catch(err => console.error(err));
};
deleteImage = token => {
RNCloudinaryUnsigned.delete(token)
.then(res => console.log(res))
.catch(err => console.error(err));
};
}
How safe / secure is it to use unsigned upload from mobile clients?
The only "risk" in using unsigned uploads with Cloudinary is the possibility that another person will view the source code of your uploader, replicate the configuration and issue uploads from another place onto your account.
However, the following is worth mentioning:
- This will "only" allow them to initiate unsigned-uploads to your account (may result with a certain Storage/Transformations quotas abuse).
- This will NOT allow anyone to Delete / Edit / Overwrite any of your existing content on the account. A list of supported unsigned-upload options is available here.
- As a safety measure, from time to time, you may want to change your upload-preset's name (can be done via the account settings) to reduce the possibility of someone using your configuration without your permission.
- Finally we must say that until the writing of these lines we haven't heard of anyone of our customers experiencing this kind of offense.