# I can't upload photo after setting Cloudflare R2

**URL:** https://meta.discourse.org/t/i-cant-upload-photo-after-setting-cloudflare-r2/408303
**Category:** Self-hosting
**Tags:** uploads, s3, cloudflare
**Created:** [July 22, 2026, 11:09pm UTC](https://meta.discourse.org/t/i-cant-upload-photo-after-setting-cloudflare-r2/408303 "2026-07-22T23:09:40Z")
**Posts on this page:** 1
**Showing post:** 3

<div class="post-metadata">

### Author: ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)
#### Post date: [July 23, 2026, 12:00am UTC](https://meta.discourse.org/t/i-cant-upload-photo-after-setting-cloudflare-r2/408303/3 "2026-07-23T00:00:40Z")

</div>

hi @haha 👋 welcome 🙂

> ![IMG_0144](https://global.discourse-cdn.com/meta/original/4X/f/1/b/f1b958888a94a42d3489f115c1e3df1d43ce0d76.jpeg)

1. you should set the region to `US East (N. Virginia)`:

 ![Screenshot 2026-07-22 at 4.59.31 PM](https://global.discourse-cdn.com/meta/original/4X/2/1/b/21b4dffb84333dd3e2bb325237b038237dfb248b.png)

1. does your CORS policy on cloudflare via json looks like this? you need the `ETag` exposed header.

```plaintext
[
  {
    "AllowedOrigins": [
      "https://forum.example.com" 
    ],
    "AllowedMethods": [
      "GET",
      "PUT",
      "POST",
      "DELETE",
      "HEAD"
    ],
    "AllowedHeaders": [
      "*"
    ],
    "ExposeHeaders": [
      "ETag"
    ],
    "MaxAgeSeconds": 3000
  }
]

```

---

_[View the full topic](https://meta.discourse.org/t/i-cant-upload-photo-after-setting-cloudflare-r2/408303)._
