在安卓中将类对象传递给多部件实体



我必须在一个应用程序上工作,我需要使用多部分实体将类对象作为参数以及文件发送。我已经检查了多部分 addpart 方法不接受要发布到 Web API 的对象。以下是我尝试过的代码。关于如何传递对象的任何建议都会很棒。

        HttpPost post = BaseActivity.getHttpPost("MyURL");          
        MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE,"",Charset.defaultCharset());
        try {
            ServiceJobFileModel sjfm = new ServiceJobFileModel();
            sjfm.setFileExtension(myfileextension);
            sjfm.setCapturedDate(captdate);
            sjfm.setFileName("/pathtofile/filename.extension");
            File f = new File(sjmf.getFileName());
            entity.addPart("file", new FileBody(f));
            entity.addPart("serviceJobFileModel", sjfm); // Compiler Error
            post.addHeader("Accept-Encoding", "gzip, deflate");
            post.setEntity(entity);
        } catch (UnsupportedEncodingException e) {
            Log.v("encoding exception","E::: "+e);
            e.printStackTrace();
        }

Web API 是在 Dotnet 中开发的,这就是为什么 Windows 移动应用程序将参数作为

 var parameters = new ServiceJobFileModel()
            {
                FileExtension = serviceJobFileModel.FileExtension,
                CapturedDate = serviceJobFileModel.CapturedDate,                     
                ServiceJobNumber = serviceJobFileModel.ServiceJobNumber
            };
content.Add(new StreamContent(filestream), "file", Path.GetFileName(fileName));
content.Add(new ObjectContent<ServiceJobFileModel>(parameters, new JsonMediaTypeFormatter()), "serviceJobFileModel");

我直言,您应该以 JSONXML 等文本格式序列化对象,然后使用StringBody发送它。

相关内容

  • 没有找到相关文章

最新更新