当前位置: 首页 > 知识库问答 >
问题:

在iOS中使用MTOM通过Soap消息上传文件

朱风史
2023-03-14
    null

共有1个答案

纪俊良
2023-03-14

我已经用Rest工具包做了同样的请求。Rest工具包允许在MTOM规范中发送附件。

首先需要下载RestKit。

下面是使用RESTKIT的MTOM的代码片段。

abv.h 
    #import "RestKit/RestKit.h"
    RKObjectManager *man;
    RKObjectLoader *loader;   

abc.m

     RKLogConfigureByName("RestKit/Network", RKLogLevelTrace);
    //Start Progress bar
    RKParams * params = [[RKParams alloc] init];
    UIImage *image=[UIImage imageNamed:@"zbar-samples.png"];
    RKObjectManager *man;
    NSData * fileData=UIImageJPEGRepresentation(image,0.7);


    [params setValue:@"1234" forParam:@"encryptedToken"];
    [params setValue:modelObj.docNameTobeSent
            forParam:@"documentName"];
    RKParamsAttachment * attachments = [params setData:fileData forParam:@"file"];
    [attachments setMIMEType:@"image/jpeg"];
    [attachments setFileName:[NSString stringWithFormat:@"%@.jpeg",modelObj.name]];
    self.man = [RKObjectManager objectManagerWithBaseURL:YOUR URL];
    self.loader = [self.man loadObjectsAtResourcePathUsingPOSTRPC:@"upload.form"    objectMapping:nil PostParams:params delegate:self];



     - (void)objectLoader:(RKObjectLoader*)objectLoader didFailWithError:(NSError*)error
    {
    //Handle fail error
    //stop Progress bar
    }

    - (void)objectLoader:(RKObjectLoader*)objectLoader didLoadObjects:(NSArray*)objects
    {
            NSLog(@"%@",@"didLoadObjects");
    }
    - (void)objectLoaderDidFinishLoading:(RKObjectLoader*)objectLoader
    {
        NSLog(@"%@",@"objectLoaderDidFinishLoading");
    //stop Progress bar
    }
    - (void)objectLoaderDidLoadUnexpectedResponse:(RKObjectLoader*)objectLoader
    {
        NSLog(@"%@",@"objectLoaderDidLoadUnexpectedResponse");
    //stop Progress bar
    }
 类似资料:
  • 我在CXF(或者一般的SOAP)中遇到了这个问题。当我在服务器端和客户端同时启用MTOM请求时,我的应用程序工作得很好,Java堆大小不会成倍增长。但是,如果某些客户机决定不使用MTOM发送大的(我的意思是500MB+附件作为B64编码格式)消息,就会出现问题,这会导致Java堆大小成倍增长,当然也会发生OutOfMemoryException(OutOfMemoryException)。 那么我

  • 问题内容: 我可能迟到了CI / CD派对,但总比没有好。到目前为止,我已经能够在不包含XCode的单独MAC上设置Jenkins。我将此MAC用作24x7小型服务器,以进行较小的操作。浪费大量时间进行归档,然后将生成的内容上传到我的iOS应用程序的testflight上,因此我想到了设置CI / CD流程的准备。 设置Jenkins之后,我可以为指定目标(发布/调试)生成.ipa文件。 现在,我

  • 问题内容: 我想使用Ajax通过模式上传文件。我怎样才能做到这一点? 我的模态: 这是我的JavaScript文件: 这是我的控制器: 但它返回错误500。我认为Ajax不接受使用Bootstrap模式的文件上传。 问题答案: 您可以像这样通过ajax使用引导程序模式上载文件。 在表单标签中,使用属性enctype和html如下所示: js代码: 在您的控制器端,您可以执行以下功能来上传图像。

  • 问题内容: 选择图像,doc或pdf后,我想将它们通过okhttp3。如何进行此操作? 并在okhttp 3中 显示的错误是 谢谢。 问题答案: 所以我自己回答这个问题。 因此,我首先将输出流打开到一个临时文件。 扩展名取决于mime类型。您可以通过以下方式找到mime类型 现在从文件读取并将其内容写入临时文件 现在写入文件 最后 成功之后的最后

  • 问题内容: 我使用2个文件index.js,upload.php尝试通过ajax上传文件(img),如果成功追加到div 。 但是它不起作用,有几个问题,下面我的代码有什么建议吗? 谢谢。 upload.php 1. 还需要添加吗? 2. 并检查$ _FILES的大小或tmp_name是否仍使用? index.js 3.这几行是对的吗? 4.我错过或错了什么吗? 问题答案: 在其构造函数中接受一个

  • 本文向大家介绍Dropbox API 在PHP中通过curl上传文件,包括了Dropbox API 在PHP中通过curl上传文件的使用技巧和注意事项,需要的朋友参考一下 示例 <ACCESS_TOKEN> 应该用OAuth 2访问令牌替换。