Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Android中将音频文件上传到服务器?_Java_Android_Android Studio_Networking - Fatal编程技术网

Java 如何在Android中将音频文件上传到服务器?

Java 如何在Android中将音频文件上传到服务器?,java,android,android-studio,networking,Java,Android,Android Studio,Networking,使用将mp3音频文件上载到服务器时出错。请求已成功发送,但服务器响应始终为false(请注意,服务器响应只有一个布尔参数,只有在上载的文件出现问题时才为false)。我尝试用相同的文件使用邮递员发送相同的请求,响应为true 这是我用来上传文件的代码 public static void uploadSound(final Context context, final String std_id, final String story_id, final String task_id,

使用将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();
                }
            });
}
这是和的截图

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

尝试使用此代码

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) {
                    }
                });
Map multiPartFileMap=newhashmap();
如果(!PathHolder.equals(“”){
multiPartFileMap.put(“附件”,新文件(路径持有者));
}
Map参数=新的HashMap();
参数put(“名称”,名称);
参数put(“电子邮件”,电子邮件);
参数放置(“消息”,详细信息);
参数put(“主题”,主题);
AndroidNetworking.upload(URL.CONTACT)
.addMultipartFile(multiPartFileMap)
.addQueryParameter(参数)
.addHeaders(FamousFunction.getHeaders(this))
.setTag(“与我们联系”)
.setPriority(优先级高)
.setExecutor(Executors.newSingleThreadExecutor())
.build()
.setUploadProgressListener((字节上载,总字节)->{
//做任何有进步的事情
})
.getAsJSONObject(新的JSONObject请求侦听器(){
@凌驾
公共void onResponse(JSONObject响应){
}
@凌驾
公共无效onError(错误错误){
}
});
//标题

   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;
}
公共静态映射getHeaders(上下文){
Map headers=newhashmap();
headers.put(“内容类型”、“应用程序/x-www-form-urlencoded”);
headers.put(“接受语言”,sharedpreferences.getLanguage(context));
headers.put(“授权”,sharedpreferences.getApiToken(上下文));
返回标题;
}

您必须传递正确的变量名
st\u id
,而不是
std\u id