prometheas 🔥
prometheas 🔥2mo ago

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
Convex Bot
Convex Bot2mo ago
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!
lee
lee2mo ago
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">)
prometheas 🔥
prometheas 🔥OP2mo ago
Yep. Nailed it. Thanks, @lee 🙏

Did you find this page helpful?