问题标签 [multipart]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - HTTPClient MultipartEntity 似乎正在向 StringBody 部分添加垃圾文本
我正在尝试使用 Apache Commons 的 HttpClient 发送带有二进制文件和几个字符串参数的多部分 POST 请求。
但是,似乎在某个地方,一些垃圾文本正在进入我的字符串参数。例如,正如调试器所确认的,sizeBody
这里的变量确实持有值“100”:
但是,如果我使用 Wireshark 收听请求,我会看到:
注意. a5
_100
这可能是什么原因造成的?我应该去哪里看?
http - Apache Abdera 的分块传输编码问题
我正在使用 Apache Abdera 将 atom 多部分数据发布到我的服务器,并且遇到了一些我无法确定的奇怪问题。
这看起来像是分块传输编码的问题,但我没有足够的经验来确定。问题表现为服务器抛出错误,表明我发送的请求仅包含一个 mime 部分,而不是所需的两个部分。我将 Wireshark 附加到界面并捕获了对话,它是这样的:
服务器的响应:
我的客户继续说:
此时服务器响应:
指示错误(这很好理解)。我的服务器继续将一堆 base64 编码位流式传输到输出流中,但与此同时,服务器没有在监听,它已经确定请求是错误的。
不幸的是,我不负责 HTTP 层——这一切都由 Abdera 使用 Apache httpclient 处理。我的代码如下所示:
在这里,SWORDMultipartRequestEntity 是标准 Abdera MultipartRequestEntity 类的副本,其中包含一些额外的标头(例如,请参见上面代码段中的 Packaging);“存款”参数只是一个包含原子部分和输入流的对象。
附加调试器时,我可以很好地执行这行代码,然后它消失在老鼠洞中,然后我又得到了这个错误。
任何提示或提示?我几乎用尽了我的攻击角度!
对我来说唯一突出的是,在 atom:entry 文档之后,只有一个带有“0”的换行符,这似乎是分块传输编码,代表“我完成了”。不知道它是如何到达那里的,或者它是否真的有任何影响。非常感谢帮助。
干杯,
理查德
nginx - 使用 upload_module 和 multipart/form 的 nginx 可恢复上传
我目前使用来自自定义桌面应用程序的上传模块(http://www.grid.net.ru/nginx/upload.en.html)上传到 nginx 服务器上的 web 服务,该应用程序执行简单的多部分形式 POST 发送文件在一部分中,而 base64 编码的 XML 与文件的元数据在另一部分中。
服务器接收到这个 POST,将它传递给我的网络服务,它读取元数据,处理文件,一切都很好。
我现在要做的是使用上传模块的upload_resumable 指令分块进行POST,以最大程度地减少断开连接的机会并允许恢复。我目前可以按照此处描述的协议执行此操作:http: //www.grid.net.ru/nginx/resumable_uploads.en.html
一个发送文件的字节范围以及一些标题以在多个帖子中识别块和会话,一旦所有部分都上传,nginx 将组成包含文件名和路径的最终 POST 并将其传递到您的 upload_pass 位置(在我的情况下,这是一个 django 应用程序的 CGI)。
但是,我不清楚如何使用这种方法发送多部分帖子,因为协议表明 POST 的主体必须是字节范围内指示的字节。我需要最后一篇文章来包含我在上面写的 XML。
我可以考虑将 XML 作为正文的第一个字节和一个标头发送,该标头指示属于它的字节数,但这意味着需要对最终文件进行额外处理以删除该标头,并且最终文件可能在 GB 大小范围内.
还有其他想法吗?
mysql - node.js:数据库查询+多部分表单数据锁定
我对整个节点的东西还是相当陌生,所以如果这非常愚蠢,请原谅我,但是:
如果我调用node-mysqlquery()
客户端对象,我将无法再从我的 Web 应用程序 ( express ) 中获取请求对象的主体。
我需要用户身份验证的基本 POST / PUT 模式请求是:
现在,问题是 get_request_body 函数永远不会回来。似乎它只是在请求对象上“被阻止”了。
这是一个示例程序:
诀窍:只有当我使用多部分表单 POST 数据而不是常规 POST 数据时,它才会失败:
作品
锁起来,永远不会回来。我在connect-form和multipart-js看到了同样的错误。现在有点难住了。
我是彻头彻尾的白痴吗?这不是正确的做事方式吗?
c++ - Qt 和多部分 HTTP
我有一个需要使用多部分 http 请求的 Qt 应用程序。从网上环顾四周,我看到多部分请求正在添加到 Qt4.8 中,但现在对我来说没有用。我现在真的需要这个功能。
我真的不知道 HTTP 是如何工作的,所以滚动我自己的解决方案超出了我的范围。如果有人可以向我指出一个基于 Qt 的库或解释它是如何工作的,那么将不胜感激。
另外,我相信 Qt 附带的 webkit 浏览器支持多部分 HTTP 请求,所以如果有人知道我如何使用 webkit 的功能来解决我的问题,我将不胜感激!
谢谢!
奥斯卡
jquery - jQuery FileUpload 脚本添加额外的 POST
我正在使用此脚本https://github.com/blueimp/jQuery-File-Upload上传多个文件(图像)。它工作得很好,但是我想在表单中添加一个额外的文本框来发布每个文件。在选项中它有一个例子,但我似乎无法让它工作。https://github.com/blueimp/jQuery-File-Upload/wiki/Options示例是 formData:它似乎使用 jQuery 中的 .tmpl() 来填充一些列。此外,它看起来像是使用 JSON 来发布数据。我设法添加了另一个 JSON 参数,但似乎无法从每个单独的文件上传中获取 $_POST['desc'] 。我不确定是否可以在上传中添加一个文本框。如何为用户上传的每个文件创建一个唯一的 $_POST var?这是我正在处理的网站的链接:http://epicplank.com/beta/upload/example/
任何帮助表示赞赏。
java - 扩展的 MultipartEntity 没有正确写出 Streams
我想在我的AndroidHttpClient中实现ProgressDialog。我在这里找到了一个简单的实现CountingMultipartEntity。
另外我添加了内容长度支持。我重写了方法。
FileBody 上传几乎可以正常工作。当上传包含一个文件时,它可以完美运行,但是当有两个文件时,第二个文件只上传了部分。
InputStreamBody 有效,但仅当我不计算InputStream的长度时。所以我必须重置它,但是如何?addPart
这是我最重要的addPart
:
CountingInputStream是InputStream的简单扩展:
计数几乎有效,只有 2 个字节,不应该存在。但这太重要了。
首先,我认为必须重置流。之后调用的重置in.getReadedBytes();
导致IOException。
感谢您的任何建议。
qt - Qt 多部分帖子问题
我在发送多部分发布请求方面需要帮助。主要问题是服务器无法识别我请求的帖子正文部分。服务器端在 android 上运行良好,但在 Qt 和 NetworkAccessManager 上运行良好。
这是代码:
在这里,我将 bodyPart 与请求一起发送(transferData 是一个带有一些文本的 QByteArray):
这是标题:
oauth - DotNetOpenAuth - 如何使用一些查询字符串参数生成多部分请求?
我需要为需要一些查询字符串参数以及 Multipart Post Part 的 API 制作 oAuth 多部分请求消息。但是没有同时接受 IDictionary 类型查询字符串参数和 MultipartPostPart 字段的 PrepareAuthorizedRequest 方法。我应该怎么办?
amazon - Amazon S3 分段上传器上的 SignatureDoesNotMatch
我正在研究 AS3 分段上传器。我正在使用此文档http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?RESTAuthentication.html来构建签名。这是我的例子:
要求:
未签名文本:
我收到以下错误响应: SignatureDoesNotMatch:我们计算的请求签名与您提供的签名不匹配。检查您的密钥和签名方法。
未签名文本中是否缺少某些标题?也许Referer,Accept等应该在未签名的文本中?
我在 JavaScript ( http://aws.amazon.com/code/199 ) 中使用了 Amazon S3 签名测试器,并且得到了相同的未签名文本。也许问题出在加密上?我正在使用 as3crypto 库。这是我的 AS3 代码:
请帮忙!谢谢!