首页 > 解决方案 > 是否可以使用 HTTP GET 上传图像

问题描述

我一直在使用以下代码将图像上传到服务器。是否可以将其更改为使用对象而不是表单数据并使用 GET 而不是 POST 传递文件数据。

var uploadfileinfo = document.getElementById("upload-file-info").value;
var file_data = $('#a_imgfile').prop('files')[0];           
var a_imgfile = document.getElementById("a_imgfile");           
var form_data = new FormData();
form_data.append('file', file_data);
$.ajax({
    url: 'upload.php',
    dataType: 'text',
    cache: false,
    async: false,
    contentType: false,
    processData: false,
    data: form_data,                         
    type: 'post',
    success: function (response) {
        alert(response);    
        },
    error: function(err) {
        alert(err);
    }
});

标签: javascriptajax

解决方案


浏览器文件上传将发送表单多部分内容类型,您不能在 GET 请求中发送内容类型

https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST

如果您正在寻找一些解决方法,您可以使用一些 base64 编码器并将您的图像传递给 url 查询参数


推荐阅读