标签: multipart

浏览器支持多部分响应

我想使用multipart/mixed创建HTTP响应,但我不确定哪些浏览器支持它; 从客户的角度来看,如果它听起来很方便.说实话,我不需要具体的内容类型.我只想在同一个响应中传输多个文件; 也许还有更多使用的内容类型.

http multipartform-data multipart

32
推荐指数
1
解决办法
3万
查看次数

使用JavaMail在电子邮件中内嵌图像

我想使用javamail发送带有内嵌图像的电子邮件.

我正在做这样的事情.

MimeMultipart content = new MimeMultipart("related");

BodyPart bodyPart = new MimeBodyPart();
bodyPart.setContent(message, "text/html; charset=ISO-8859-1");
content.addBodyPart(bodyPart);

bodyPart = new MimeBodyPart();
DataSource ds = new ByteArrayDataSource(image, "image/jpeg");
bodyPart.setDataHandler(new DataHandler(ds));
bodyPart.setHeader("Content-Type", "image/jpeg; name=image.jpg");
bodyPart.setHeader("Content-ID", "<image>");
bodyPart.setHeader("Content-Disposition", "inline");
content.addBodyPart(bodyPart);

msg.setContent(content);
Run Code Online (Sandbox Code Playgroud)

我也试过了

    bodyPart.setHeader("inline; filename=image.jpg");
Run Code Online (Sandbox Code Playgroud)

    bodyPart.setDisposition("inline");
Run Code Online (Sandbox Code Playgroud)

但无论如何,图像都作为附件发送,内容处理正在变成"附件".

如何使用javamail在电子邮件中内联发送图像?

java mime multipart jakarta-mail mime-types

29
推荐指数
3
解决办法
7万
查看次数

Multipart文件上传Spring Boot

我使用Spring Boot并希望使用Controller来接收多部分文件上传.发送文件时,我不断收到错误415不支持的内容类型响应,并且永远不会到达控制器

There was an unexpected error (type=Unsupported Media Type, status=415).
Content type 'multipart/form-data;boundary=----WebKitFormBoundary1KvzQ1rt2V1BBbb8' not supported
Run Code Online (Sandbox Code Playgroud)

我尝试使用form:action在html/jsp页面中发送,也在使用RestTemplate的独立客户端应用程序中发送.所有尝试都给出相同的结果

multipart/form-data;boundary=XXXXX not supported.

从多部分文档看来,必须将边界参数添加到分段上传,但这似乎与控制器接收不匹配 "multipart/form-data"

我的控制器方法设置如下

@RequestMapping(value = "/things", method = RequestMethod.POST, consumes = "multipart/form-data" ,
                                     produces = { "application/json", "application/xml" })
     public ResponseEntity<ThingRepresentation> submitThing(HttpServletRequest request,
                                     @PathVariable("domain") String domainParam,
                                     @RequestParam(value = "type") String thingTypeParam,
                                     @RequestBody MultipartFile[] submissions) throws Exception
Run Code Online (Sandbox Code Playgroud)

使用Bean安装程序

 @Bean
 public MultipartConfigElement multipartConfigElement() {
     return new MultipartConfigElement("");
 }

 @Bean
 public MultipartResolver multipartResolver() {
     org.springframework.web.multipart.commons.CommonsMultipartResolver multipartResolver = new org.springframework.web.multipart.commons.CommonsMultipartResolver();
     multipartResolver.setMaxUploadSize(1000000);
     return …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc multipart spring-boot

29
推荐指数
3
解决办法
10万
查看次数

在C或C++中是否有轻量级的multipart/form-data解析器?

我正在考虑在Web服务器模块中集成多部分表单数据解析,这样我就可以解除后端Web应用程序(通常用动态语言编写)来解析多部分数据本身.多部分语法(RFC 2046)看起来并不重要,如果我手工实现它,很多事情都可能出错.是否已经有一个用C或C++编写的好的,轻量级的multipart/form-data解析器?我正在寻找除C或C++标准库之外没有外部依赖关系的那个.我不需要电子邮件附件处理或缓冲的I/O类或可移植性运行时或其他任何东西,只需要多部分/表单数据解析.

我考虑过的事情:

  • GMime - 取决于滑稽,所以不要去.
  • libapreq - 太大,取决于APR,记录严重,没有单元测试.

我还看过用Ragel编写一个解析器,但我无法弄清楚如何做到这一点,因为语法不是静态的:边界可以任意改变.

c c++ parsing multipartform-data multipart

28
推荐指数
3
解决办法
1万
查看次数

如何手动安装node.js模块?

我想将文件上传到s3,所以我想从这篇文章运行上传程序:http: //www.componentix.com/blog/9

为此,我需要安装multipart模块. https://github.com/isaacs/multipart-js

但通过执行npm install multipart,它给出了错误

我应该如何安装这个多部分模块,以便我可以运行这个程序?

file-upload multipart node.js

27
推荐指数
2
解决办法
5万
查看次数

Multer用数据创建新文件夹

我用multer.

问题1

当我把以下片段放入 app.js

app.use(multer({
        dest: './uploads'
    }
).single('file'));
Run Code Online (Sandbox Code Playgroud)

它在根文件夹下创建了一个新文件夹,我的问题是关于这个新文件夹的lifeCycle,什么时候会被删除?100次通话后文件夹的大小是多少?

问题2

如果我不想限制文件大小,我应该在配置中添加什么?

app.use(multer({
    dest: './public/profile/img/',
    limits: {
        fieldNameSize: 50,
        files: 1,
        fields: 5,
        fileSize: 1024 * 1024
    },
Run Code Online (Sandbox Code Playgroud)

更新

我的应用程序就像是

app.js文件包含

    app.use(multer({
            dest: './uploads'
        }
    ).single('file'));

app.use('/', routes, function (req, res, next) {
    next();
});
Run Code Online (Sandbox Code Playgroud)

路径文件如下所示

appRouter
    .post('*', function (req, res) {
        handler.dispatch(req, res)
    })
    .get('*', function (req, res) {
        handler.dispatch(req, res)
    })
Run Code Online (Sandbox Code Playgroud)

在第三个文件中,我使用如下的解压缩

update: function (req, res) {
  var filePath = path.join(req.file.destination, req.file.filename);
            var unzipper = new …
Run Code Online (Sandbox Code Playgroud)

javascript multipart node.js express multer

25
推荐指数
1
解决办法
8043
查看次数

通过xmlHttpRequest将文件作为multipart发送

我可以将文件作为multipart发送XMLHttpRequest到servlet吗?我正在制作一个表单并将其作为multipart提交,但不知何故我没有得到成功上传它的响应.我不希望刷新页面,因此必须由ajax进行.

javascript ajax servlets file-upload multipart

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

如何从与Jersey的多部分表单中读取具有相同名称的多个(文件)输入?

我已经成功开发了一项服务,我在其中阅读在泽西岛以多部分形式上传的文件.这是我一直在做的非常简化的版本:

@POST
@Path("FileCollection")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadFile(@FormDataParam("file") InputStream uploadedInputStream,
        @FormDataParam("file") FormDataContentDisposition fileDetail) throws IOException {
    //handle the file
}
Run Code Online (Sandbox Code Playgroud)

这工作得很好,但我得到了一个新的要求.除了我上传的文件外,我还要处理任意数量的资源.我们假设这些是图像文件.

我想我只是为客户端提供一个表单,其中包含一个文件输入,一个输入用于第一个图像,一个按钮允许向表单添加更多输入(使用AJAX或简单的JavaScript).

<form action="blahblahblah" method="post" enctype="multipart/form-data">
   <input type="file" name="file" />
   <input type="file" name="image" />
   <input type="button" value="add another image" />
   <input type="submit"  />
</form>
Run Code Online (Sandbox Code Playgroud)

因此,用户可以为表单添加更多图像输入,如下所示:

<form action="blahblahblah" method="post" enctype="multipart/form-data">
   <input type="file" name="file" />
   <input type="file" name="image" />
   <input type="file" name="image" />
   <input type="file" name="image" />
   <input type="button" value="add another image" />
   <input type="submit"  />
</form>
Run Code Online (Sandbox Code Playgroud)

我希望阅读与集合同名的字段非常简单.我在MVC .NET中使用文本输入成功完成了它,我认为在Jersey中不会更难.事实证明我错了.

找不到关于这个主题的教程,我开始尝试.

为了看看如何做到这一点,我把问题简化为简单的文本输入.

<form action="blahblabhblah" …
Run Code Online (Sandbox Code Playgroud)

java forms jax-rs multipart jersey

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

"改造"在一个多部分请求中附加的多个图像

有没有办法在一个多部分请求中附加多个图像?根据用户选择的图像数量,图像是动态的.

下面的代码仅适用于单个图像:

接口:

@Multipart
@POST("/post")
void createPostWithAttachments( @Part("f[]") TypedFile image,@PartMap Map<String, String> params,Callback<String> response);
Run Code Online (Sandbox Code Playgroud)

执行:

TypedFile file = new TypedFile("image/jpg", new File(gallery.sdcardPath));

Map<String,String> params = new HashMap<String,String>();
params.put("key","value");

ServicesAdapter.getAuthorizeService().createPostWithAttachments(file,params, new Callback<String>() {
        @Override
        public void success(String s, Response response) {
            DBLogin.updateCookie(response);
            new_post_text.setText("");
            try {
                JSONObject json_response = new JSONObject(s);
                Toast.makeText(getApplicationContext(), json_response.getString("message"), Toast.LENGTH_LONG).show();
                if (json_response.getString("status").equals("success")) {
                    JSONObject dataObj = json_response.getJSONObject("data");
                    Intent intent = new Intent(getApplicationContext(), MainActivity.class);
                    startActivity(intent);
                    finish();
                } else {
                    Log.d(TAG, "Request failed");
                }
            } catch (Exception e) {
                Log.d(TAG, …
Run Code Online (Sandbox Code Playgroud)

android multipart retrofit

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

Retrofit - Multipart请求:必需的MultipartFile参数'file'不存在

我正在尝试使用Retrofit2在服务器上发送文件.我根据文档做了一切,但总是得到400服务器错误.

我试图这样做:

RequestBody body =
                RequestBody.create(MediaType.parse("image/png"), photo);
    //..........

    @Multipart
    @POST(ADD_PHOTO)
    Observable<HPSPhotoResponse>
    addPhoto(@Part("file") RequestBody file);
Run Code Online (Sandbox Code Playgroud)

......并且像这样:

MultipartBody.Part part = MultipartBody.Part.createFormData("file", "file", body);
     //...........

    @Multipart
    @POST(ADD_PHOTO)
    Observable<HPSPhotoResponse>
    addPhoto(@Part("file") MultipartBody.Part files);
Run Code Online (Sandbox Code Playgroud)

无所谓 结果始终相同"多部分请求:不存在所需的MultipartFile参数'文件'" - 服务器响应.

我认为服务器上的Spring工作不好,但是我在Swift(iOS)上做了相同的代码而且它有效!这里服务器看到这个'文件'部分.

Alamofire.upload(method, endpoint, headers: headers,
            multipartFormData: { multipartFormData in
                multipartFormData.appendBodyPart(fileURL: self.filePath!, name: "file")
            }
Run Code Online (Sandbox Code Playgroud)

现在我希望它可以在Android上使用Retrofit.但我甚至查看了Retrofit请求的日志,实际上我在日志中看不到任何"文件"文本.

这有什么问题?

android multipartform-data multipart retrofit retrofit2

23
推荐指数
1
解决办法
3万
查看次数