Access a community of over 900,000 Shopify Merchants and Partners and engage in meaningful conversations with your peers.
I'm in the process of creating an importer for an old site and part of what I need to import includes some wysiwyg areas which include images.
I am as far as using the mutation fileCreate to upload the file, this is all working.
However, I can't seem to get back the new url that I need to replace in my content!
image is just returning null.
Any ideas what I'm doing wrong here?
mutation fileCreate($files: [FileCreateInput!]!) {
fileCreate(files: $files) {
files {
... on MediaImage {
id
image {
transformedSrc
}
}
}
}
}
I've cracked it!
Rather than relying on the fileCreate to pass me anything meaningful back, I already have the filename of the file I'm creating.
So if I run a second graphQL and query the filename, I can get the file and url!!!
{
files(query: "filename:'.$filename.'", first: 1) {
edges {
node {
createdAt
... on MediaImage {
id
image {
transformedSrc
}
}
}
}
}
}
Thanks for posting this solution!
If anyone's passing through here wondering how to pass that $filename as a variable since the query expects a string, here's a useful thread.
Simpler solution that might not of been available when the original was posts is to take the id returned by fileCreate then query for the node directly
That sounds like a far more reliable method. I'll definitely keep that in mind if I need to right another importer. Thank you!
User | RANK |
---|---|
40 | |
37 | |
29 | |
15 | |
12 |