java - 如何使用 volley 从 Android 将 mp3 音频文件上传到 php?
问题描述
我想上传一个位于 android 本地文件夹中的 mp3 文件,文件在 android 中可以正常播放。当我使用base64 编码上传时,服务器上的文件太小,无法播放,所以我猜不是正确的mp3文件。
我目前将其用于图像,并且效果很好:
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 95, byteArrayOutputStream);
String encodedImage = Base64.encodeToString(byteArrayOutputStream.toByteArray(), Base64.DEFAULT);
这是用于音频上传:
private void UploadAudio() {
try {
jsonObject = new JSONObject();
Uri uri = Uri.fromFile(new File(fileName));
jsonObject.put("name", "myaudiorecording.mp3");
jsonObject.put("audio", uri);
} catch (JSONException e) {
Log.e("JSONObject Here", e.toString());
}
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, "http://ip/audioUpload.php", jsonObject,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject jsonObject) {
int responseCode = jsonObject.optInt("success");
Log.e("upload", "Success");
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Log.e("upload", volleyError.toString());
}
});
}
解决方案
推荐阅读
- flutter - 在颤振中使用流生成器时出现错误
- typescript - 打字稿:需要帮助强制对函数响应进行严格输入
- r - 如何在ggplot中为数字x轴的条形图添加直接标签
- algorithm - 如何在 KD-Tree 中实现范围搜索
- c# - 具有预选值的 MVC 下拉列表不允许在必填字段时提交表单
- spring-boot - 在反应性 crud 存储库 @Query 方法中使用对象属性作为参数
- ios - 如何从 Callkit 最近的通话记录 iOS Objective-c 打开应用程序?
- angular - 如何测试角度服务工作者
- python - 使用 sympy 积分指数函数
- php - 如何在 nesk/puphpeteer 中设置代理?