How to use axios to upload image with signature.

fluffyrudy
fluffyrudy Member Posts: 1
edited March 2 in Developer APIs

** solved **

I solved it by removing key 'source' from object


```javascript
const { signature, timestamp } = (
res.body as { data: { signature: string; timestamp: string } } ).data;
const filePath = resolve(__dirname, "pic.png");
console.log(filePath);
const formData = new FormData();
formData.append("file", fs.createReadStream(filePath));
formData.append("api_key", process.env.CLOUD_API_KEY!);
formData.append("signature", signature);
formData.append("timestamp", timestamp);
formData.append("folder", "pigeon-messanger");

const cloudinaryUrl = `https://api.cloudinary.com/v1_1/${process.env.CLOUD_NAME}/image/upload`;
console.log(cloudinaryUrl);
const resImg = await axios.post(cloudinaryUrl, formData, {
headers: {
...formData.getHeaders(),
},
});

public createSignature() {
const timestamp = Math.round(Date.now() / 1000);
const signature = cloudinary.utils.api_sign_request(
{ timestamp: timestamp, source: "uw", folder: "pigeon-messanger", },
process.env.CLOUD_API_SECRET! );
return { signature, timestamp };
}
import { imageClient } from "../../service/imageClient";
export const createProfileSignature = () => { return imageClient.createSignature();};

```

but i got error:
● Must check validity of signature › must create sha1 signature

AxiosError: Request failed with status code 401
Tagged: