apollo icon indicating copy to clipboard operation
apollo copied to clipboard

File upload not supported (and API doesn't allow to modify links structure)

Open thibautvs opened this issue 2 years ago • 3 comments

Discussed in https://github.com/nuxt-modules/apollo/discussions/552

Originally posted by thibautvs September 27, 2023 [UPDATE]

So I basically had to completely rebuild and override the apollo client as the current API basically only allows to pass options, but not redefine the link structure, which was needed to configure apollo-upload-link.

As the file upload feature is pretty common in web apps, it would be best to support it by default in the library, or at least allow an easy configuration via the exposed API.


Hello,

I'm trying to do a file upload using GraphQL but it's not working (Could not get uploaded file, be sure to conform to GraphQL multipart request specification). The file upload is defined in the GraphQL schema using a Upload type I'm trying to configure apollo-upload-client but can't find any example on how to do that in Nuxt 3. I've also come across a few comments saying that it's already built-in in the @nuxtjs/apollo library. What is the situation and what approach should I take?

Thanks in advance!

thibautvs avatar Sep 28 '23 12:09 thibautvs

@thibautvs can you please provide more guidance on how you solved this? I'm having the same problem.

travisricks avatar Nov 21 '23 08:11 travisricks

@travisricks https://github.com/nuxt-modules/apollo/pull/447 has much of it.

If you use SSR, it's probably easiest to just configure Apollo yourself. That's what I ended up doing. There were a few tricks I had to pull from this module, such as optimizeDeps changes, and I referred to the module source for that. It's not super trivial, but also not that hard, and certainly better than being completely blocked.

bmulholland avatar Nov 21 '23 09:11 bmulholland

@bmulholland thanks for the link.

I ended up solving this the same way, but by adding a patch in my project for the package that uses createUploadLink instead of createHttpLink.

Hopefully that PR can be merged though.

travisricks avatar Nov 22 '23 01:11 travisricks