I am really new to programming Flask APIs. Is there any way to send a audio file which is recorded on an android device to my flask server? Should I send audio file byte by byte or is there a way to send it directly ?
            Asked
            
        
        
            Active
            
        
            Viewed 5,142 times
        
    1 Answers
1
            
            
        Save the audio and use multipart
In your flask script
@app.route('/uploadfile',methods=['GET','POST'])
def uploadfile():
    if request.method == 'PUT':
        f = request.files['file']
        filePath = "./somedir/"+secure_filename(f.filename)
        f.save(filePath)
        return "success"
In your android app
public static void upload(String path) throws IOException{
    OkHttpClient client = new OkHttpClient.Builder().connectTimeout(30, TimeUnit.SECONDS).writeTimeout(30, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).build();
    MultipartBody.Builder mMultipartBody = new MultipartBody.Builder().setType(MultipartBody.FORM).
        mMultipartBody.addFormDataPart("file","upload",new CountingFileRequestBody(new File(path),"*/*", null));
    RequestBody mRequestBody = mMultipartBody.build();
    Request request = new Request.Builder()
            .url("yourUrl/uploadfile").post(mRequestBody)
            .build();
    Response response = client.newCall(request).execute();
    String responseString = response.body().string();
}
 
    
    
        Niza Siwale
        
- 2,390
- 1
- 18
- 20
