簡體   English   中英

是否可以通過jquery ajax調用偽造multipart / form-data帖子?

[英]Is it possible to fake a multipart/form-data post with a jquery ajax call?

我希望能夠將multipart / form-data消息發布回服務器。 現在,我知道我無法直接通過ajax調用發送文件,並且我也不想發送任何實際文件。 我想格式化該帖子,以便它模擬文件傳輸, this is the file data字符串,就好像它是文件的內容,而test.txt就像它是文件名。

例如在后端(php)上,我想使用echo $_FILES['uploadedfile']['name']並查看test.txt

我認為我必須處理發送的標頭,但是不確定我必須設置什么。 我還假設我將不得不與處理通過ajax調用發送的其余數據不同地對待偽造的文件數據。 現在我的ajax調用看起來像這樣:

        $.ajax({
            beforeSend: function(req) {
                req.setRequestHeader("Accept", '');
                req.setRequestHeader("Accept", $('#type').val());
            },
            'url': $('#url').val(),
            'type': $('#verb').val(),
            'data': data,
            'mimeType': 'multipart/form-data',
            'complete': function (jqXHR, textStatus) {
                var msg = "Data: " + dump(data);
                msg += "<br /><br />Status: " + jqXHR.status + " (" + jqXHR.statusText + " - " + textStatus + ")<br />";
                msg += jqXHR.getAllResponseHeaders().replace(/\n/g, "<br />");
                msg += "---<br />" + jqXHR.responseText;
                $('#results').html(msg);
            }
        });

您可以使用FormData修補jquery, https://github.com/francois2metz/html5-formdata並查看此問題, 使用jQuery.ajax發送multipart / formdata

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM