模拟post提交数据-使用json方式;使用form-data按钮方式

展示:

file按钮:

<input
          ref="fileInput"
          type="file"
          accept="image/*"
          capture="environment"
          @change="handleImageUpload"
          style="display: none"
        />

使用json方式:



 const handleImageUpload = async (event) => {

      if (event) {
        const file = event.target.files[0];
        const photoURL = URL.createObjectURL(file);
        photo.value = photoURL;
      } 
      
      
      
      if (photo.value){
        
        
        //  randomImage.value = images.value[Math.floor(Math.random() * images.value.length)];
        randomImage.value = "http://192.168.3.215:8001/images_database/"+best_match.value;

        try {
          const response = await fetch("/api_find_match/find_match", {
            method: "POST",
            headers: {
              "Content-Type": "application/json",
            },
            body: JSON.stringify({
              query_image_name: "wk2.jpg",
            }),
          });

          // 解析返回的JSON数据
          const data = await response.json();
          console.log(data);

          // 将返回的数据赋值给响应式变量
          best_match.value = data.best_match;
          similarity.value = data.similarity;
        } catch (error) {
          console.error("请求失败:", error);
        }
      }
    };

使用form-data的上传按钮方式:

<input
  ref="fileInput"
  type="file"
  accept="image/*"
  capture="environment"
  @change="handleImageUpload"
  style="display: none"
/>

<script setup>
import { ref } from 'vue';

const photo = ref(null);
const randomImage = ref(null);
const best_match = ref(null);
const similarity = ref(null);

const handleImageUpload = async (event) => {
  if (event) {
    const file = event.target.files[0];
    const photoURL = URL.createObjectURL(file);
    photo.value = photoURL;

    if (photo.value) {
      // 将图片上传到后台并获取最匹配的结果
      randomImage.value = "http://192.168.3.215:8001/images_database/" + best_match.value;

      const formData = new FormData();
      formData.append("query_image", file);

      try {
        const response = await fetch("/api_find_match/find_match", {
          method: "POST",
          body: formData, // 使用 form-data 发送文件
        });

        // 解析返回的JSON数据
        const data = await response.json();
        console.log(data);

        // 将返回的数据赋值给响应式变量
        best_match.value = data.best_match;
        similarity.value = data.similarity;
      } catch (error) {
        console.error("请求失败:", error);
      }
    }
  }
};
</script>

以上仅供参考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值