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

使用改型将图像上载到服务器

乐欣可
2023-03-14

我想上传图像/文件到服务器使用它的uri使用下面的代码

try {

                    String descriptionString = "Sample description";
                    RequestBody description = RequestBody.create(MultipartBody.FORM, descriptionString);

                    File file = new File(path);

                    String extension = MimeTypeMap.getFileExtensionFromUrl(uri.toString());

                    if (extension != null) {

                        String type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
                        RequestBody requestFile = RequestBody.create(MediaType.parse(type), file);

                        MultipartBody.Part body2 = MultipartBody.Part.createFormData("avatar", file.getName(), new FileRequestBody(file, extension));

                        Response<ResponseBody> response = ApiCaller.getProfileAPI().requestingUploadProfilePhoto("Bearer " + AuthenticationProvider.getInstance().token.token,
                                "form-data; name=avatar; filename=\"" + file.getName() + "\"",
                                ProfileProvider.getInstance().parsedProfile.profileId,
                                description,
                                body2).execute();
                        if (response.isSuccessful()){
                            Logger.msg("Photo", ": uploaded successfully " + uri);
                        }else{
                            Logger.msg("Photo", ": uploaded successfully none" + uri + response.errorBody().string());
                        }
                    }else{
                        Logger.msg("Photo", ":extension error");
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
 @Multipart
@POST("v1/avatar/profiles/{profileId}/upload")
Call<ResponseBody> requestingUploadProfilePhoto(@Header("Authorization") String authHeader,
                                                @Header("Content-Disposition") String content_type,
                                                @Path("profileId") String profileId,
                                                @Part("description") RequestBody description,
                                                @Part MultipartBody.Part file);

所以,在这里我的回应是不成功的。API返回我内部服务器错误状态500,但我知道服务器工作良好(我测试了其他应用程序)。另外,文件uri也可以。我是新来的,所以能有人发现我的错误,并详细解释为什么是错误的。

共有1个答案

杭胜
2023-03-14

如果有人发现它有用,错误出现在这里的第一个参数“名称”(在我的情况下,根据服务器,它应该是“文件”,而不是“化身”)

MultipartBody.Part body2 = MultipartBody.Part.createFormData("avatar", file.getName(), new FileRequestBody(file, extension));

Response<ResponseBody> response = ApiCaller.getProfileAPI().requestingUploadProfilePhoto("Bearer " + AuthenticationProvider.getInstance().token.token,
                            ProfileProvider.getInstance().parsedProfile.profileId,
                            body2).execute();
                    if (response.isSuccessful()){
                        Logger.msg("Photo", ": uploaded successfully " + uri);
                    }else{
                        Logger.msg("Photo", ": uploaded successfully none" + uri + response.errorBody().string());
                    }

所以,改变它并移除所有不必要的东西就足够了。当然,也有必要根据参数更改服务文件。我没有足够重视它,因为在教程中没有提到它作为一些重要的参数。

 类似资料:
  • 我目前正在做一个个人项目,我想上传一张个人资料图片到我的服务器上。通过以表单数据的形式发送图像,我可以轻松地将图像发送到带有postman的服务器上,但当我对其进行相同的改造时,它不起作用,有时它会创建一个1kb的文件,在打开时显示错误。 如果我提供文件到请求Body.create喜欢, 设置新配置文件pic的代码不会执行,如果我只传递URI。getPath()输入。create()方法id在服务

  • 我必须上传从用户首选的应用程序(Cameta,画廊等)选择后的图像文件。我可以在Imageview中显示结果意图为位图。现在我想上传这个图像后,一个按钮将被点击。我用改装来做到这一点。我跟随ImagePicker类将图像收集到我的Imageview中。 正在收集图像代码: 要将图像上载到服务器,我使用改装库 API接口 我的问题是,在将result intent中的Imageview设置为在服务器

  • 我正在使用翻新上传图像/文件 在这里,我发布了我的API调用以上传图像 请帮助我如何为这个调用编写接口,我已经用@part和@PartMap试过了,但是不起作用

  • 我正在用Laravel5.6构建一个表单,在其中我保存了一个名字和一个用户照片,但我需要将照片与用户名一起存储。我展示了我商店的代码 我可以使用$request->nombre获得用户名; 但我不知道怎么给照片取名字

  • 问题内容: 我想随请求一起发送图像作为参数。我使用下面的代码调用POST请求,但是我不知道如何将图像追加到正文中。 我通过图像选择器获取图像,如下所示: 我的要求如下 我是Swift的新手。我已经通过multipart / form-data看到了这一点,但无法自己实现。我不想将其编码为基本64格式。请帮助我。 问题答案: 我使用以下结构发送图像: 然后在函数中创建如下主体:

  • 我已经尝试上传大型视频到服务器使用Restful API的帮助下改型。但是每次我都无法通过这个场景上传它。这对100 MBs左右的小视频很好,但它不符合大于300 MBs的条件。 向服务器上传非常大的文件需要什么?Ans:我正在创建像(网飞,亚马逊Prime等)的网络系列播放应用程序,也有一个管理员的角色。管理员可以通过手机上传web系列,其大小可能非常大,大约在400 MB到1 GB之间。 请提