标签: multipart

使用jQuery使用multipart/form-data进行HTTP POST调用?

我正在尝试使用jQuery使用multipart/form-data进行HTTP POST调用:

$.ajax({
  url: 'http://localhost:8080/dcs/rest',
  type: 'POST',
  contentType:'multipart/form-data',
  data: 'dcs.source=boss-web&query=data&dcs.algorithm=lingo&dcs.output.format=JSON&dcs.clusters.only=true', 
  //dataType: "jsonP",
  success: function(jsonData) {alert('POST alert'); data=jsonData ; },
  error : function(XMLHttpRequest, textStatus, errorThrown) {
            console.log('An Ajax error was thrown.');
            console.log(XMLHttpRequest);
            console.log(textStatus);
            console.log(errorThrown);
          }
});
Run Code Online (Sandbox Code Playgroud)

它不起作用.Firebug返回未定义的错误,返回的XMLHttpRequst对象multipart字段设置为false.

我可以做些什么来使用jQuery工作?如果不可能有一个简单的实现这个?

即idon't不需要传输文件,只需要一些数据.但服务器需要multipart.

javascript jquery post http multipart

16
推荐指数
1
解决办法
5万
查看次数

通过TCP选择JSON的传输

我正在编写一个简单的流式JSON服务.它由间歇性发送的JSON消息组成,持续很长一段时间(数周或数月).

通过普通TCP套接字发送多个JSON消息的最佳实践是什么?

我看过的一些替代方案(及其缺点)是:

  1. 换行符分隔JSON - 缺点:JSON中的换行符需要转义或禁止
  2. websocket灵感来自0x00 0xff框架 - 缺点:它现在是二进制,而不是utf-8
  3. 真正的websockets - 缺点:缺乏(opensource)websocket 客户端
  4. http multipart http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html - 缺点:不完整的客户支持?
  5. 没有分隔符 - 缺点:分块需要JSON解析(不能只计算curlies因为字符串中的curlies)

这样做是否有良好的,或至少是完善的方式?

streaming json multipart websocket ldjson

16
推荐指数
3
解决办法
2万
查看次数

在multipart/form-data上载的各个部分设置内容长度标题

我想使用类型的post请求上传多个文件,multipart/form-data并且我需要知道服务器端的文件大小(内容长度).

为了构造POST请求,javascript我使用一个FormData对象并将File对象附加到它上面.这样可以正常工作,但除了Content-type标题之外,每个部分只添加一个Content-Disposition标题,但没有Content-length标题,尽管可以从各个File对象获得此信息.

有没有办法实现在发送请求时Content-lengthFormData对象的每个部分设置标头?

下面是我使用的代码,包括我对问题的解决方法.它实际上用于angular-js发送请求,但我认为这与问题无关.

var form = new window.FormData();

form.append('additional-field-1', new Blob(['some plain text'], {type : 'text/plain'}));

for (var file in fileList) {
    var fileObj = fileList[file];
    var count = 1 + parseInt(file, null);
    form.append('file-size-' + count, new Blob([fileObj.size], {type : 'text/plain'}));
    form.append('file-' + count, fileObj);
}

$http.post(url, form, {
    transformRequest: angular.identity,
    headers: {'Content-Type': undefined}
}).success(.....
Run Code Online (Sandbox Code Playgroud)

javascript multipartform-data multipart form-data angularjs

16
推荐指数
1
解决办法
1999
查看次数

我需要Amazon S3的多部分下载以获取大文件

我知道Amazon S3为大文件添加了多部分上传.那很棒.我还需要的是客户端的类似功能,对于那些通过下载gigabyte plus文件并有错误的客户来说.

我意识到浏览器有一定程度的重试和恢复内置,但是当你谈论大文件时,我希望能够在不管错误类型的情况下从中断的地方继续.

有任何想法吗?

谢谢,Brian

multipart amazon-s3

15
推荐指数
1
解决办法
2万
查看次数

阅读mime multipart的身体部分

好的,所以我使用.getcontent并收到javax.mail.internet.MimeMultipart@fd13b5等.

我知道我的代码中需要这样的东西,但我不知道到底需要什么.

if (p.isMimeType("text/plain")) {
    pr("This is plain text");
    pr("---------------------------");
    if (!showStructure && !saveAttachments)
    System.out.println((String)p.getContent());
} else if (p.isMimeType("multipart/*")) {
    pr("This is a Multipart");
    pr("---------------------------");
    Multipart mp = (Multipart)p.getContent();
    level++;
    int count = mp.getCount();
    for (int i = 0; i < count; i++)
    dumpPart(mp.getBodyPart(i));
    level--;
} else if (p.isMimeType("message/rfc822")) {
    pr("This is a Nested Message");
    pr("---------------------------");
    level++;
    dumpPart((Part)p.getContent());
    level--;
Run Code Online (Sandbox Code Playgroud)

目前我正在尝试将所有信息都放入astring中,然后在GUI上显示,然后我将它全部正常工作,显示身体内容显示为.javax.mail.internet.MimeMultipart@fd13b5.任何帮助将非常感激,因为我很困难.

package EmailTable;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.util.List;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.mail.BodyPart;
import javax.mail.Folder;
import javax.mail.Message; …
Run Code Online (Sandbox Code Playgroud)

java mime multipart jakarta-mail

15
推荐指数
2
解决办法
6万
查看次数

如何计算HTTP多部分"Content-length"标头值?

我读过对"如何计算多部分HTTP请求内容长度?"这一问题的冲突和有些含糊不清的回复.我特别想知道:

  • 计算"Content-length"标题的精确内容范围是多少?
  • CRLF("\ r \n")八位字节序列是否计为一个或两个八位字节?

有人能提供一个明确的例子来回答这些问题吗?

multipart http-content-length content-length http-headers

15
推荐指数
2
解决办法
1万
查看次数

在Kotlin中使用Retrofit @PartMap错误的多部分请求(Android)

如果我在Java中使用此代码,那么它的工作正常.当我在kotlin中转换该代码时,我得到了错误.

logcat的

08-20 23:46:51.003 3782-3782/com.qkangaroo.app W/System.err:java.lang.IllegalArgumentException:参数类型不能包含类型变量或通配符:java.util.Map(参数#1) 08-20 23:46:51.003 3782-3782/com.qkangaroo.app W/System.err:for方法ApiInterface.updateCustomerDetail 08-20 23:46:51.003 3782-3782/com.qkangaroo.app W/System.err :at retrofit2.ServiceMethod $ Builder.methodError(ServiceMethod.java:752)08-20 23:46:51.004 3782-3782/com.qkangaroo.app W/System.err:at retrofit2.ServiceMethod $ Builder.methodError(ServiceMethod. java:743)08-20 23:46:51.004 3782-3782/com.qkangaroo.app W/System.err:at retrofit2.ServiceMethod $ Builder.parameterError(ServiceMethod.java:761)08-20 23:46:51.004 3782-3782/com.qkangaroo.app W/System.err:at retrofit2.ServiceMethod $ Builder.build(ServiceMethod.java:195)08-20 23:46:51.004 3782-3782/com.qkangaroo.app W/System .err:at retrofit2.Retrofit.loadServiceMethod(Retrofit.java:170)08-20 23:46:51.005 3782-3782/com.qkangaroo.app W/System.err:a t retrofit2.Retrofit $ 1.invoke(Retrofit.java:147)08-20 23:46:51.005 3782-3782/com.qkangaroo.app W/System.err:at $ Proxy0.updateCustomerDetail(Native Method)08-20 23 :46:51.005 3782-3782/com.qkangaroo.app W/System.err:at com.qkangaroo.app.Fragments.MoreScreen.MoreFragment.updateProfile(MoreFragment.kt:261)08-20 23:46:51.006 3782- 3782/com.qkangaroo.app W/System.err:at com.qkangaroo.app.Fragments.MoreScreen.MoreFragment $ clickListener $ 1.onClick(MoreFragment.kt:191)08-20 23:46:51.006 3782-3782/com .qkangaroo.app W/System.err:在android.view.View.performClick(View.java:3517)08-20 23:46:51.006 3782-3782/com.qkangaroo.app W/System.err:at android .view.View $ PerformClick.run(View.java:14155)08-20 …

android multipart kotlin retrofit android-studio-3.0

15
推荐指数
2
解决办法
3729
查看次数

帮助改进我的文件上传方法(金字塔框架)

目前,我使用以下方法在Pyramid中上传文件(通过HTML表单).

if request.params.get('form.submitted'):

    upload_directory = os.getcwd() + '/myapp/static/uploads/'

    my_file = request.POST.get('thumbnail')
    saved_file = str(upload_directory) + str(my_file.filename)

    perm_file = open(saved_file, 'w')

    shutil.copyfileobj(my_file.file, perm_file)
    my_file.file.close()
    perm_file.close()
Run Code Online (Sandbox Code Playgroud)

我只是想知道,这是保存文件上传的好方法,我的方法有任何安全问题吗?我怎么能改进我的方法.谢谢.

python pylons multipart pyramid

14
推荐指数
1
解决办法
3848
查看次数

使用改造在服务器上上传文件

在我的项目中,我必须将从Android设备拍摄的图像发送到服务器站点,它应该存储在磁盘上.不幸的是,当我在设备网站上调用该方法时,我遇到了这个错误:

DEBUG/Retrofit(4429): java.lang.RuntimeException: 
    Unable to write multipart request.
at retrofit.mime.MultipartTypedOutput.buildPart(MultipartTypedOutput.java:86)
at retrofit.mime.MultipartTypedOutput.addPart(MultipartTypedOutput.java:49)
at retrofit.RequestBuilder.setArguments(RequestBuilder.java:211)
at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:264)
at retrofit.RestAdapter$RestHandler.access$500(RestAdapter.java:197)
at retrofit.RestAdapter$RestHandler$1.obtainResponse(RestAdapter.java:243)
at retrofit.CallbackRunnable.run(CallbackRunnable.java:38)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at retrofit.Platform$Android$2$1.run(Platform.java:134)
at java.lang.Thread.run(Thread.java:856)

Caused by: java.io.FileNotFoundException: /external/images/media/1270: 
    open failed: ENOENT (No such file or directory)
at libcore.io.IoBridge.open(IoBridge.java:416)
at java.io.FileInputStream.<init>(FileInputStream.java:78)
at retrofit.mime.TypedFile.writeTo(TypedFile.java:74)
at retrofit.mime.MultipartTypedOutput.buildPart(MultipartTypedOutput.java:83)
... 10 more

Caused by: libcore.io.ErrnoException: 
    open failed: ENOENT (No such file or directory)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
at libcore.io.IoBridge.open(IoBridge.java:400)
... 13 more
Run Code Online (Sandbox Code Playgroud)

这是方法的声明

@Multipart
@POST("/monument/photo/upload")
void addMonumentPhoto(@Part("MonumentID") int …
Run Code Online (Sandbox Code Playgroud)

android file-upload multipart retrofit

14
推荐指数
1
解决办法
2万
查看次数

如何使用ASP.NET Core创建多部分HTTP响应

我想在我的ASP.NET核心控制器中创建一个动作方法,它返回一个包含多个文件的多部分HTTP响应.我知道使用.zip文件是网站的推荐方法,但我正在考虑使用这样的API请求.

我在ASP.NET Core示例中能够找到的示例与上传文件时的多部分HTTP请求有关.就我而言,我想下载文件.

UPDATE

我提出了以下GitHub问题:#4933

asp.net multipartform-data multipart asp.net-core-mvc asp.net-core

14
推荐指数
2
解决办法
6869
查看次数