【问题标题】:How to upload an audio file to server in Android?如何在 Android 中将音频文件上传到服务器?
【发布时间】:2020-08-31 18:10:18
【问题描述】:

我使用 Fast Android Networking library 将 mp3 音频文件上传到服务器时出错。请求发送成功,但服务器响应总是false(注意服务器响应只有一个布尔参数,只有在上传文件有问题时才为false )。我尝试使用邮递员发送具有相同文件的相同请求,但响应为 true

这是我用来上传文件的代码

    public static void uploadSound(final Context context, final String std_id, final String story_id, final String task_id, final File file) {
    
    AndroidNetworking.upload(UploadSound)
            .addMultipartParameter("std_id", std_id)
            .addMultipartParameter("story_id", story_id)
            .addMultipartParameter("task_id", task_id)
            .addMultipartFile("audio_blob", file)
            .setPriority(Priority.HIGH)
            .build()
            .getAsJSONObject(new JSONObjectRequestListener() {
                @Override
                public void onResponse(JSONObject response) {
                    Log.e("UPLOADING", "onResponse: " + response.toString());
                    try {
                        boolean booleanResponse = response.getBoolean("result");
                        if (booleanResponse)
                            Toast.makeText(context, "File uploaded successfully", Toast.LENGTH_SHORT).show();
                        else
                            Toast.makeText(context, "Unable to upload!", Toast.LENGTH_SHORT).show();
                    } catch (Exception e) {
                        Log.e("Exception1", "onResponse: ", e);
                        Toast.makeText(context, "Unable to upload!", Toast.LENGTH_SHORT).show();
                    }
                }
                @Override
                public void onError(ANError error) {
                    Toast.makeText(context, "Something wrong!", Toast.LENGTH_SHORT).show();
                    Log.e("Exception1", "onResponse: ", error);
                    error.printStackTrace();
                }
            });
}

这是postman requestFunction's parameters values 的屏幕截图。

如果您需要更多信息,请告诉我。 提前致谢!

【问题讨论】:

    标签: java android android-studio networking


    【解决方案1】:

    尝试使用此代码

    Map<String, File> multiPartFileMap = new HashMap<>();
        if (!PathHolder.equals("")) {
            multiPartFileMap.put("attachment", new File(PathHolder));
        }
    
        Map<String, String> parames = new HashMap<>();
        parames.put("name", name);
        parames.put("email", email);
        parames.put("message", details);
        parames.put("subject", subject);
    
            AndroidNetworking.upload(URLs.CONTACT)
                    .addMultipartFile(multiPartFileMap)
                    .addQueryParameter(parames)
                    .addHeaders(FamousFunction.getHeaders(this))
                    .setTag("Contact With Us")
                    .setPriority(Priority.HIGH)
                    .setExecutor(Executors.newSingleThreadExecutor())
                    .build()
                    .setUploadProgressListener((bytesUploaded, totalBytes) -> {
                        // do anything with progress
                    })
                    .getAsJSONObject(new JSONObjectRequestListener() {
                        @Override
                        public void onResponse(JSONObject response) {
                        }
    
                        @Override
                        public void onError(ANError error) {
                        }
                    });
    

    //标题

       public static Map<String, String> getHeaders(Context context) {
        Map<String, String> headers = new HashMap<>();
         headers.put("Content-Type", "application/x-www-form-urlencoded");
        headers.put("Accept-Language", sharedPrefrences.getLanguage(context));
        headers.put("Authorization", sharedPrefrences.getApiToken(context));
         return headers;
    }
    

    【讨论】:

      【解决方案2】:

      您必须传递正确的变量名st_id 而不是std_id

      【讨论】:

        猜你喜欢
        • 2023-04-09
        • 1970-01-01
        • 1970-01-01
        • 2018-06-07
        • 2014-04-26
        • 1970-01-01
        • 2018-12-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多