Tag: multipartform data

在Loopback自定义远程方法中通过多部分表单文件处理file upload

我已经尝试了一切推荐在我怎样才能用LoopBack身体分析器? 但仍然没有运气。 我的客户端应用程序在AngularJS中,使用ng-file-upload模块,具体如下: Upload.upload({ url: apiUrl + '/Recipes/uploadImage', file: $scope.picFile, params: { recipeId: newRecipe.id } }) .then(function(res) { console.log('succes:', res); }, function(err) { console.log('error:', err); }, function(evt) { console.log('progress:', evt); }); 在服务器(Loopback)方面,我确定server/middleware.json已经注册了中间件: … "parse": { "body-parser#json": {}, "body-parser#urlencoded": {"params": { "extended": true }} }, … 对于好的方法,尽pipe我不确定除了multer是否还需要body-parser(因为在middleware.json中注册了body-parser),我已经把这些行包含在server/server.js : var bodyParser = require('body-parser'); var multer = require('multer'); […]

Node.js服务器说,请求被取消,客户说套接字挂断

您好,我正在Loopback上的Node.js平台上的REST API上工作。 我在Linux Mint 17 Quianatesting。 与Multipart / form-data请求相关时,遇到问题。 testing是: it('Multipart request with two files, one right', function(done) { var formData = { 'dailyThemesId':'1', 'themeId':'1', 'pictureTimeZone':'GTM+1', 'pictureText':'Pretty pics', file: { value: fs.createReadStream('./test/File/fileSuperSmall.mp4'), options: { filename: 'video.mp4', contentType: 'video/mp4' } }, video: { value: fs.createReadStream('./test/File/fileSuperSmall.mp4'), options: { filename: 'video.mp4', contentType: 'video/mp4' } } }; request2.post({url: 'http://0.0.0.0:3000' […]

如何parsing通过ajax请求发送的multipart / form-data。

我试图parsing从$.ajax()发送的multipart / form-data,并且在服务器端数据进入req.body不在req.files如express的文档中所述。 我试图做的是发送多个图像文件和forms的数据通过$.ajax ,然后在服务器端接收它,并通过nodemailer作为附件发送这些图像,所以发送它通过nodemailer我需要能够读取,我得到的只是req.body中的数据垃圾,我甚至无法阅读。 代码如下。 客户端Ajax请求发送function: – $('.contact-button').on('click', function(e) { e.preventDefault(); var data = new FormData(); var filesList = document.getElementById('files'); for (var i = 0; i< filesList.files.length; i ++) { data.append('file', filesList.files[i]); } data.append('messageData', $('#contact-form').serialize()); $.ajax({ url: '/api/contactus/', data: data, processData: false, type: "POST", contentType: 'multipart/form-data', mimeType: 'multipart/form-data', success: function (data) { console.log("SUCCESS IN […]

如何以多方forms接收json对象和文件?

我试图build立一个张贴用户名,密码和个人资料图片的angularJS页面。 我正在使用一个自定义fileUpload指令,然后发送这两个字段和文件作为多部分forms的请求。 在服务器端,我可以使用多方获取文件,但字段数据显示为{[对象对象]},我无法得到它。 试过JSON.stringify,但也不起作用。 这是我的代码: 视图 <form ng-submit="submitForm(user)"> <input type="text" ng-model="user.username" placeholder="user name"> <input type="text" ng-model="user.age" placeholder="age"> <input type="password" ng-model="user.password" placeholder="password"> <input type="file" file-upload multiple/> <input type="submit" class="btn btn-danger">Send</button> </form> angular度控制器代码: var app = angular.module('testphoto', []); app.directive('fileUpload', function () { return { scope: true, link: function (scope, el, attrs) { el.bind('change', function (event) { var […]

NodeJS请求错误发送multipart / form-data

我正在使用Node.js应用程序作为Web服务的代理。 我能够传递简单的应用程序/ JSON请求身体分析器,但它不能处理多部分/表单数据。 为此,我正在尝试使用请求模块,但在将文件附加到请求时出现错误: 错误:结束后写入 在ClientRequest.OutgoingMessage.write(_http_outgoing.js:413:15) 在Request.write(./ node_modules / request / request.js:1362:25) 以下是触发此错误的代码: var form_data = {}; for (var key in req.files){ form_data[req.files[key].fieldname] = fs.createReadStream(req.files[key].path); log.debug("File :", req.files[key].fieldname) } var multipart_request = request_module({ url: 'http://example.com', method: 'POST', headers: req.headers, body: JSON.stringify({<some content here>}), formData: form_data }, function(error, response, body){ if(error){ log.debug(error); res.status(500).send('{"message": "Server error.}'); } […]

集成多部件中间件来expression应用程序

我需要在一个请求中接收JSON数据和文件。 所以我一直在使用完美的body-parser 。 但是,我有问题find一个模块与快递工作很好。 这是我的路由器设置: router.post('/', // controllers.requireAuthorization, controllers.multipartMiddleware, function (req, res) { console.log(req.body); return res.json({ body: req.body }); }, controllers.sitters.validate, controllers.sitters.create, controllers.sitters.serialize ); 这就是我的multipart middleare函数的样子,你可以看到我正在使用multiparty: function multipartMiddleware(req, res, next) { if (req.get('Content-Type').indexOf('multipart/form-data') + 1) { new multiparty.Form().parse(req, function (err, fields, files) { console.log(JSON.stringify(files)); req.body = fields; return next(err); }); } else { console.log(req.get('Content-Type')); return […]

如何简化发送(文件,模型)的angular度和FormData

我有一大堆文本字段和一个文件字段的forms。 我使用Mulder来接收文件,而且工作正常。 我已经设法在请求中包含所有必要的数据,但是我对我的解决scheme不满意。 有没有更好的方式来附加窗体的参数,而不是手动指定每个字段? $scope.createJob = function() { var fd = new FormData(); fd.append("logo", $scope.logo); fd.append("title", $scope.formData.title); fd.append("title", $scope.formData.description); fd.append("title", $scope.formData.hiringOrganization); fd.append("title", $scope.formData.jobLocation); fd.append("title", $scope.formData.url); $http.post('/api/v1/jobs', fd, { transformRequest: angular.identity, headers: {'Content-Type': undefined} }) .success(function(data) { console.log(data); }) .error(function(data) { console.log('Error: ' + data); }); }; 正如你所看到的,我附加了formData对象的每个参数。 我试过了 fd.append(“body”,$ scope.formData); 但是我结束了string“[Object object]”。

org.springframework.web.multipart.MultipartException:无法parsing多部分servlet请求…stream意外结束

情况: 从Node.js(通过节点核心HTTPS模块)向Spring-Boot Java API提交多部分表单请求。 该API需要两个表单数据元素: “路线” “文件” 完全错误: Exception processed – Main Exception: org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is org.apache.commons.fileupload.FileUploadException: Stream ended unexpectedly Exception processed – Main Exception: org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is org.apache.commons.fileupload.FileUploadException: Stream ended unexpectedly 请求标题: {"Accept":"*/*", "cache-control":"no-cache", "Content-Type":"multipart/form-data; boundary=2baac014-7974-49dd-ae87-7ce56c36c9e7", "Content-Length":7621} FORM-DATA正在写入(全部写成二进制): Content-Type: multipart/form-data; […]

如何使用npm请求将图像作为表单数据进行POST?

我有一个特定的任务:我需要从源URL下载一个图像,并通过POST请求作为multipart / form-data将其上传到另一个主机。 我试图使用node.js请求库,但从来没有成功。 以下代码不会在请求正文中发送任何内容。 request.post({ url: uploadUrl, formData: { photo: request(imageUri) } }, function (err) { if (err) console.error(err.stack) }); 我试图直接通过表单数据库,但它似乎并没有工作。 如何在不创build临时文件的情况下解决这个问题?

如何将表单数据缓冲区发送到SignServer?

我有一个内存中的文件(在缓冲区中),它不存在于文件系统(所以我不能只是stream)。 我试图使用HTTP将它发送到SignServer 。 以下是我如何做到这一点: var formdata = require('form-data'); var form = new formdata(); form.append('workerName', 'PDFSigner'); form.append('data', file_buffer); // or // escape(file_buffer.toString('binary')) // or // file_buffer.toString('binary') (without escaping) var request = form.submit('http://localhost:8080/signserver/process', function(err, res) {}); 当我尝试追加file_buffer SignServer说data是空的: 状态400 – 上传中缺less文件内容 当我尝试追加escape(file_buffer.toString('binary')) (正如我如何在HTTP请求中发送缓冲区中的build议? ),这是相同的故事。 当我尝试追加file_buffer.toString('binary') node.js崩溃说: node:../src/stream_base.cc:157 int node :: StreamBase :: Writev(const v8 :: FunctionCallbackInfo&):断言`(offset)<=(storage_size)'失败。 中止(核心倾弃) […]