我终于成功了!
我的javascript发送文件看起来像这样
send : function() { try { var xhr = new XMLHttpRequest; //var url = this.form.action; var url = '/photos'; var boundary = this.generateBoundary(); var contentType = "multipart/form-data; boundary=" + boundary; this.filesToUpload.forEach(function(file, index, all) { xhr.open("POST", url, true); xhr.setRequestHeader("Content-Type", contentType); for (var header in this.headers) { xhr.setRequestHeader(header, headers[header]); } var CRLF = "rn"; var request = "--" + boundary + CRLF; request += 'Content-Disposition: form-data; '; request += 'name="' + 'photo[name]' + '"' + CRLF + CRLF; request += file.name + CRLF; request += "--" + boundary + CRLF; request += 'Content-Disposition: form-data; '; request += 'name="' + 'photo[photo]' + '"; '; request += 'filename="'+ file.fileName + '"' + CRLF; request += "Content-Type: application/octet-stream" + CRLF + CRLF; request += file.value + CRLF; request+= "--" + boundary + "--" + CRLF; xhr.sendAsBinary(request); }); // finally send the request as binary data //xhr.sendAsBinary(this.buildMessage(this.filesToUpload, boundary)); } catch(e) { alert('send Error: ' + e); } }现在,回形针可以正常处理文件
input file



