1

ファイルのアップロードは変更する必要があるため、アップロード文字列を手動で組み合わせてみます。

    function submitdata(){
        //var data = new FormData();
        var sb="";
        var BOUNDARY = "-------------------------4827543632391";

        sb+="--"+BOUNDARY;
        sb+="\r\n";
        sb+="Content-Disposition: form-data; name=\"fileinput\"    filename=\"004.jpg\" \r\n";
        sb+="Content-Type: image/jpeg\r\n\r\n";
        .....
        var reader = new FileReader();
            reader.readAsBinaryString(data);
        //fd.append("blob", sb);
        reader.onload = function(e){
            sb+=this.result;
            sb+="\r\n--" + BOUNDARY + "--\r\n";

            var datasubmit="Content-Type:multipart/form-data; boundary="+BOUNDARY+"\n";
            datasubmit+="Content-Length: "+eval(sb.length)+ "\r\n\r\n";
            var xhr = new XMLHttpRequest();
            xhr.open("POST", "addimages");
            xhr.setRequestHeader("Content-Type", "multipart/form-data");
            xhr.overrideMimeType('multipart/form-data');
            xhr.sendAsBinary(datasubmit+sb);

           }


    }

送信データ本体は次のとおりです。

Content-Type:multipart/form-data; boundary=-------------------------4827543632391
Content-Length: 283111

体じゃなくて聞こえるように上の部分を入れたい!!!

---------------------------4827543632391 
Content-Disposition: form-data; name="fileinput" filename="004.jpg" 
Content-Type: image/jpeg 


ÿØÿà�JFIF������ÿÛ�C�  %# , #&')*)-0-(0%()(ÿÛ�C   (((((((((((((((((((((((((((((((((((((((((((((((((((ÿÀ�@m"�ÿÄ����������� ÿÄ�µ���}�!1AQa"q2¡#B±ÁRÑð$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ�������� ÿÄ�µ��w�!1AQaq"2B¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz....

私が欲しいのは:

Request Headers From Upload Stream
Content-Length: 283122
Content-Type: multipart/form-data;boundary=---------------------------23281168279961

わからない

Content-Type:multipart / form-data; ......ストリームフォームのヘッダー部分に

頭に「Content-Type:multipart / form-data; ..」が付いたhttpパッケージの例を教えてもらえますか?または、コンテンツタイプ:をヘッド部分に配置するためのjava-scriptの記述方法を教えてください。xhr.setRequestHeader()を試しましたが、httphearderは書き込まれますが、UploadStreamヘッダーは書き込まれません。

4

1 に答える 1

2

誤解されているかもしれませんが、xhr.setRequestHeader() メソッド呼び出しで新しいヘッダーを作成する必要があります。

あなたがそれをしている(そして見ている)とき、あなたは体の前に材料を追加しているだけです. setRequestHeader() メソッド (ヘッダー名とコンテンツを 2 つの引数として受け取る) は、送信される新しいヘッダーを作成します。メソッドを複数回呼び出すことで、必要な数のヘッダーを作成できることに注意してください。

お役に立てれば。

于 2012-10-06T16:15:05.273 に答える