The ctx.storage.getUrl() method is marked as deprecated, but Convex docs provide no alternatives
The storage serve docs direct the use of
ctx.storage.getUrl()
, but my IDE says the function is deprecated.
https://docs.convex.dev/file-storage/serve-files
What, then, is the best practice for accessing stored file data?Serving Files | Convex Developer Hub
Files stored in Convex can be served to your users by generating a URL pointing
3 Replies
Thanks for posting in <#1088161997662724167>.
Reminder: If you have a Convex Pro account, use the Convex Dashboard to file support tickets.
- Provide context: What are you trying to achieve, what is the end-user interaction, what are you seeing? (full error message, command output, etc.)
- Use search.convex.dev to search Docs, Stack, and Discord all at once.
- Additionally, you can post your questions in the Convex Community's <#1228095053885476985> channel to receive a response from AI.
- Avoid tagging staff unless specifically instructed.
Thank you!
This is actually just a weird interaction with the IDE. The function isn't deprecated as a whole; what's deprecated is calling it with an argument other than
Id<"_storage">
. Which means ctx.storage.getUrl(id)
where id
is inferred to be string
or any
will cause the IDE to complain. You can either pass through the type as Id<"_storage">
, probably by using argument or schema validation v.id("_storage")
, or cast it ctx.storage.getUrl(id as Id<"_storage">)
Yep. Nailed it. Thanks, @lee 🙏