Upload Image To Strapi
I would like to upload an image to strapi with a html file. When I run the code, I obtain the error: POST http://localhost:1337/upload 500 (Internal Server Error). $.ajax({ typ
Solution 1:
As I can see forgetting to add multipart/form-data
mimeType:"multipart/form-data"
You can see documentation here
Ensure that have send the request using multipart/form-data encoding
The parameters allowed are:
files: The file(s) to upload. The value(s) can be a Buffer or Stream. path: (optional): The folder where the file(s) will be uploaded to (only supported on strapi-upload-aws-s3 now). refId: (optional): The ID of the entry which the file(s) will be linked to. ref: (optional): The name of the model which the file(s) will be linked to. source: (optional): The name of the plugin where the model is located. field: (optional): The field of the entry which the file(s) will be precisely linked to.
Single file request
curl -X POST -F 'files=@/path/to/pictures/file.jpg' http://localhost:1337/upload
Linking files to an entry
For example that you have link image field in User model named avatar
{"files":"...",// Buffer or stream of file(s)"path":"user/avatar",// Uploading folder of file(s)."refId":"5a993616b8e66660e8baf45c",// User's Id."ref":"user",// Model name."source":"users-permissions",// Plugin name."field":"avatar"// Field name in the User model.}
Solution 2:
As of today, you can upload a file to strapi using axios with the following code. This is the handler of the input event on a file input.
onInput (files) {
const axios = require('axios')
constSTRAPI_BASE_URL = 'http://localhost:1337'const formData = newFormData()
formData.append('files', files)
formData.append('ref', 'restaurant') // optional, you need it if you want to link the image to an entry
formData.append('refId', 12345) // optional, you need it if you want to link the image to an entry
formData.append('field', 'image') // optional, you need it if you want to link the image to an entry
axios.post(`${STRAPI_BASE_URL}/upload`, formData)
}
I assume that you have a collection called restaurant
with a field image
of type file.
More on this here: https://strapi.io/documentation/v3.x/plugins/upload.html#upload-files
Solution 3:
Here is another way using RestRequest
in Winforms with C#:
varclient=newRestClient("http://my-strapi-server:1337/upload");
client.Timeout = -1;
varrequest=newRestRequest(Method.POST);
request.AddFile("files", @"C:\temp\bryan.jpg");
request.AddParameter("ref", "Singer");
request.AddParameter("refId", "605fe0c8sakhasg4c40253a");
request.AddParameter("field", "logo");
IRestResponseresponse= client.Execute(request);
Console.WriteLine(response.Content);
Post a Comment for "Upload Image To Strapi"