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

修改2解析传出数据

谷玉韵
2023-03-14

你好StackOverflow的伙计们!这是我的第一个帖子,真的是我的大问题与改造2,我希望一些人帮助解决。

这是我的接口类:

public interface PicUploadInterface {
@Multipart
@POST("user")
Call<UserModelResponse> uploadMultipleFiles(@Part("Authorization")  RequestBody authorization,
                          @Part("description") RequestBody description,
                          @Part MultipartBody.Part filePart);

和apimanager类:

public class Apimanager {

public static void upload(String coda, File file) {
    // create upload service client
    final String API_BASE_URL = "http://10.0.3.2/web2Demo/public/";
    OkHttpClient.Builder httpClient = new OkHttpClient.Builder();

    HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
    // set your desired log level
    logging.setLevel(HttpLoggingInterceptor.Level.BODY);
    httpClient.addInterceptor(logging);  

    Retrofit builder =
            new Retrofit.Builder()
                    .baseUrl(API_BASE_URL)
                    .addConverterFactory(GsonConverterFactory.create())
                    .client(httpClient.build())
                    .build();

    PicUploadInterface service = builder.create(PicUploadInterface.class);
    RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);

    MultipartBody.Part filePart  = MultipartBody.Part.createFormData("uploaded_file", file.getName(), requestFile);

    String descriptionString = coda;
    String AuthString = "Send picture";
    RequestBody description = RequestBody.create(MediaType.parse("text/plain"), descriptionString);
    RequestBody authorization = RequestBody.create(MediaType.parse("text/plain"), AuthString);

    Call<UserModelResponse> call = service.uploadMultipleFiles(authorization, description, filePart);
    call.enqueue(new Callback<UserModelResponse>() {
        @Override
        public void onResponse(Call<UserModelResponse> call,
                               Response<UserModelResponse> response) {
            Log.v("Upload", "success");
        }
        @Override
        public void onFailure(Call<UserModelResponse> call, Throwable t) {
            Log.e("Upload error:", t.getMessage());
        }
    });
}

我以这种方式使用代码:

      File file = new File(textViewFile.getText().toString()); // getting this string "/storage/emulated/0/bichooser/1476172212892.jpg"
      connectivity.com.pack.Apimanager.upload(name, file);

最后,我的HttpLoggingInterceptor显示,我在restApi中找不到什么和如何解析它

我找不到从restApi改版2.1.0到restApi的内容,以及哪一部分是我的字符串或图像数据?我确实根据stackoverflow提示和另一个站点改变了很多次,但我的结果几乎是一样的!(我做了短图像二进制从拦截器日志传出)如果有人有想法,请分享。谢谢

共有1个答案

符献
2023-03-14

您是否尝试在服务呼叫中直接使用:

RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file); 

...

Call<UserModelResponse> call = service.uploadMultipleFiles(authorization, description, requestFile);

和更新:

@Multipart
@POST("user")
Call<UserModelResponse> uploadMultipleFiles(@Part("Authorization")  RequestBody authorization,
                          @Part("description") RequestBody description,
                          @Part("file\"; filename=\"myFilename\" ") RequestBody filePart);

另外,如果您想查看对restApi的调用,您可以使用Charles代理作为反向代理,查看您的调用和响应。

 类似资料:
  • 问题 你想读取一个XML文档,对它最一些修改,然后将结果写回XML文档。 解决方案 使用 xml.etree.ElementTree 模块可以很容易的处理这些任务。 第一步是以通常的方式来解析这个文档。例如,假设你有一个名为 pred.xml 的文档,类似下面这样: <?xml version="1.0"?> <stop> <id>14791</id> <nm>Clark &amp

  • 本文向大家介绍Django模型修改及数据迁移实现解析,包括了Django模型修改及数据迁移实现解析的使用技巧和注意事项,需要的朋友参考一下 Migrations Django中对Model进行修改是件麻烦的事情,syncdb命令仅仅创建数据库里还没有的表,它并不对已存在的数据表进行同步修改,也不处理数据模型的删除。 如果你新增或修改数据模型里的字段,或是删除了一个数据模型,你需要手动在数据库里进行

  • 2. 传入参数与传出参数 如果函数接口有指针参数,既可以把指针所指向的数据传给函数使用(称为传入参数),也可以由函数填充指针所指的内存空间,传回给调用者使用(称为传出参数),例如strcpy的src参数是传入参数,dest参数是传出参数。有些函数的指针参数同时担当了这两种角色,如select(2)的fd_set *参数,既是传入参数又是传出参数,这称为Value-result参数。 表 24.1.

  • 现在你已经知道如何在剖析树中寻找东西了。但也许你想对它做些修改并输出出来。 你可以仅仅将一个元素从其父母的contents中分离,但是文档的其他部分仍然 拥有对这个元素的引用。Beautiful Soup 提供了几种方法帮助你修改剖析树并保持其内部的一致性。 修改属性值 你可以使用字典赋值来修改Tag对象的属性值。 from BeautifulSoup import BeautifulSoup s

  • 主要内容:Java DOM4J解析器 修改XML文档的示例Java DOM4J解析器 修改XML文档的示例 需要修改的文件内容如下: 编写Java DOM4J解析器 修改XML文档的程序 输出结果为:

  • 主要内容:Java StAX解析器 修改XML文档的示例Java StAX解析器 修改XML文档的示例 需要修改的文件input.xml 编写Java StAX解析器 修改XML文档的程序 输出结果为: