2017-07-26 112 views
0

你好我的工作Next Cloud API,而我想从我的设备上传一张图片为:操作完成,HTTP状态代码409(失败)

uploadButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      showFileChooser(); 
     } 
    }); 

    private void showFileChooser() { 
     Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
     intent.setType("*/*"); 
     intent.addCategory(Intent.CATEGORY_OPENABLE); 

     try { 
      startActivityForResult(
      Intent.createChooser(intent, "Select a File to Upload"),FILE_SELECT_CODE); 
     } catch (android.content.ActivityNotFoundException ex) { 
      // Potentially direct the user to the Market with a Dialog 
      Toast.makeText(this, "Please install a File Manager.", 
       Toast.LENGTH_SHORT).show(); 
     } 
    } 

和对活动的结果是:

 @Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    switch (requestCode) { 
     case FILE_SELECT_CODE: 
      if (resultCode == RESULT_OK) { 
       try { 
        // Get the Uri of the selected file 
        Uri uri = data.getData(); 
        // Get the path 
        String path = getPath(MainActivity.this, uri); 
        File fi = new File(path); 

        //set the image to image view 
        iv.setImageURI(Uri.fromFile(fi)); 

        Date lastModDate = new Date(fi.lastModified()); 
        startUpload(fi, "/testfolder", getMimeType2(Uri.fromFile(fi)),lastModDate.toString()); 
        Log.e(TAG, "file " + fi.toString() + " remote path " + mServerUri + " mime " + getMimeType2(Uri.fromFile(fi))+" date "+lastModDate.toString()); 
       } catch (Exception e) { 
        Log.e(TAG, "eee " + e.toString()); 
       } 
      } 
      break; 
    } 
    super.onActivityResult(requestCode, resultCode, data); 
} 

public static String getPath(Context context, Uri uri) throws URISyntaxException { 
    if ("content".equalsIgnoreCase(uri.getScheme())) { 
     String[] projection = {"_data"}; 
     Cursor cursor = null; 

     try { 
      cursor = context.getContentResolver().query(uri, projection, null, null, null); 
      int column_index = cursor.getColumnIndexOrThrow("_data"); 
      if (cursor.moveToFirst()) { 
       return cursor.getString(column_index); 
      } 
     } catch (Exception e) { 
      // Eat it 
     } 
    } else if ("file".equalsIgnoreCase(uri.getScheme())) { 
     return uri.getPath(); 
    } 

    return null; 
} 

虽然我只是用api documentation创建一个新文件夹,它的工作原理以及良好并创建了一个文件夹!尽管每个这样的工作都很好,就像从Next Cloud中读取文件一样!

的问题是从设备的图片上传!我收到以下错误,而我试图上传:

Operation finished with HTTP status code 409 (fail) 

我现在不知道我已经做错了,可有人请提供有关正在做什么错误的一些想法!

回答

1

HTTP错误409意味着存在与服务器上的资源confict。 您应该检查服务器的响应以了解如何解决该问题。 更多信息:https://httpstatuses.com/409

相关问题