Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 斯特拉皮:如何上传图像并将其链接到模型?_Javascript_React Native_Strapi - Fatal编程技术网

Javascript 斯特拉皮:如何上传图像并将其链接到模型?

Javascript 斯特拉皮:如何上传图像并将其链接到模型?,javascript,react-native,strapi,Javascript,React Native,Strapi,假设我有一个模型餐厅,我想上传一个图像并将其链接到模型。 因此,应分两步进行: 创建新实体 上传和链接图像 目前,在我创建实体并尝试执行步骤2之后,它失败了。 注:图像来源于 以下是我正在做的: const data = new FormData(); data.append('files', image.uri); data.append('refId', id); data.append('ref', 'Restaurants');

假设我有一个模型
餐厅
,我想上传一个图像并将其链接到模型。 因此,应分两步进行:

  • 创建新实体
  • 上传和链接图像
  • 目前,在我创建实体并尝试执行步骤2之后,它失败了。 注:图像来源于

    以下是我正在做的:

          const data = new FormData();
          data.append('files', image.uri);
          data.append('refId', id);
          data.append('ref', 'Restaurants');
          data.append('field', 'Logo');
    
    我看到的是图像没有上传。此外,从Strapi方面进行调试时,我将包含所有这些数据的请求视为
    字段


    我正在使用文档中提到的
    FormData
    ,我缺少什么?

    结果是,我需要向
    文件
    键添加一些额外信息,以便
    FormData
    将其识别为文件,Strapi可以处理文件上载。 以下是有效的方法:

          const data = new FormData();
          data.append('files', {
            uri: logo.uri,
            name: `test.jpg`,
            type: 'multipart/form-data'
          });
          data.append('refId', id);
          data.append('ref', 'Restaurants');
          data.append('field', 'Logo');
    
    真正重要的是
    类型:'multipart/formdata


    还有一句话,在中,有另一个键叫做
    source
    。我没有使用它,它似乎没有影响任何东西。请注意,如果需要,请确定。

    结果表明,我需要向
    文件
    键添加一些额外信息,以便
    表单数据
    将其识别为文件,Strapi可以处理文件上载。 以下是有效的方法:

          const data = new FormData();
          data.append('files', {
            uri: logo.uri,
            name: `test.jpg`,
            type: 'multipart/form-data'
          });
          data.append('refId', id);
          data.append('ref', 'Restaurants');
          data.append('field', 'Logo');
    
    真正重要的是
    类型:'multipart/formdata


    还有一句话,在中,有另一个键叫做
    source
    。我没有使用它,它似乎没有影响任何东西。如果需要,请注意“确定”。

    尝试执行类似操作。但即使没有将文件链接到模型,上传也会失败。奇怪的是,响应是“成功”,但没有上传到Strapi上传文件夹。我错过了什么?我的代码(这里我只是尝试从互联网上保存一个随机文件)如下:

        const bodyFormData = new FormData();
        const token = localStorage.getItem('token');
        bodyFormData.append('files', {
            uri: "https://www.w3schools.com/bootstrap/newyork.jpg",
            name: "test.jpg",
            type: "multipart/form-data"
          });
        // console.log(data.Attachment.rawFile.preview);
        axios.post( 'http://localhost:1337/upload',
        bodyFormData,
        {
          headers: {
              Authorization: `Bearer ${token}`,
              'Content-Type': 'multipart/form-data'
          }
        }
      ).then(function(response){
        console.log('SUCCESS');
      })
      .catch(function(){
        console.log('Fail!');
      });
    

    尝试做类似的事情。但即使没有将文件链接到模型,上传也会失败。奇怪的是,响应是“成功”,但没有上传到Strapi上传文件夹。我错过了什么?我的代码(这里我只是尝试从互联网上保存一个随机文件)如下:

        const bodyFormData = new FormData();
        const token = localStorage.getItem('token');
        bodyFormData.append('files', {
            uri: "https://www.w3schools.com/bootstrap/newyork.jpg",
            name: "test.jpg",
            type: "multipart/form-data"
          });
        // console.log(data.Attachment.rawFile.preview);
        axios.post( 'http://localhost:1337/upload',
        bodyFormData,
        {
          headers: {
              Authorization: `Bearer ${token}`,
              'Content-Type': 'multipart/form-data'
          }
        }
      ).then(function(response){
        console.log('SUCCESS');
      })
      .catch(function(){
        console.log('Fail!');
      });
    

    嘿,Hear id
    data.append('refId',id)
    mean restaurant id?很抱歉没有及时回复,是的,it isHi,你有curl的例子吗?通过反复试验找到了方法:
    curl--location--request POST'http://localhost:1337/model“\--form”data={“model\u name”:“model name”}'\--form”文件。image=@image.png'
    Hey,Hear id
    data.append('refId',id)
    mean restaurant id?很抱歉没有及时回复,是的,it isHi,你有curl的例子吗?通过反复试验找到了方法:
    curl--location--request POST'http://localhost:1337/model“\--form”数据={“model\u name”:“model name”}'\--form”文件。image=@image.png'