不允许的方法(405),同时向uploadFileTask QuickBlox - (安卓)
问题描述:
我的问题是,我使用QBContent.uploadFileTask(文件,真实,空,新QBEntityCallback()上传文件到QuickBlox但我登陆。 。在的onError(名单列表)检查图片请不允许的方法(405),同时向uploadFileTask QuickBlox - (安卓)
- 这是我得到了onError方法:
-
这里是我的代码:
保护无效startLoadAttachAudio(最后文件的文件) { 处理器H =新的处理程序(Looper.getMainLooper()); h.post(新的Runnable(){ 公共无效的run(){
QBContent.uploadFileTask(file, true, null, new QBEntityCallback<QBFile>() { @Override public void onSuccess(QBFile qbFile, Bundle bundle) { System.out.println("Success"); } @Override public void onSuccess() { System.out.println("Success2"); } @Override public void onError(List<String> list) { System.out.println("Failed."); } }); }//end of run }); //end of handler
}
答
我通过更新Quickblox
的SDK版本
答
您可以使用上传文件库,我使用的Android异步HTTP,例如:利用发送
public void UploadFile(CarrierFileInformation carrierFileInformation)
{
String path = carrierFileInformation.GetSaveDir();
File file = new File(path);
if(!file.exists())
{
this.uploadedFile = true;
Toast.makeText(this.activity, this.activity.getResources().getString(R.string.not_found_file), Toast.LENGTH_LONG).show();
return;
}
String link = Settings.DOMAIN + MethodNames.UPLOAD_FILE;
RequestParams requestParams = new RequestParams();
try
{
requestParams.put(FieldNames.UPLOAD_FILE, file);
requestParams.put(FieldNames.ORDER_ID, carrierFileInformation.GetOrderId());
requestParams.put(FieldNames.TEST_ID, carrierFileInformation.GetTestId());
requestParams.put(FieldNames.TEST_DETAIL_ID, carrierFileInformation.GetTestDetailId());
requestParams.put(FieldNames.FLAG, carrierFileInformation.GetFlag());
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
AsyncHttpClient asyncHttpClient = new AsyncHttpClient();
asyncHttpClient.post(link, requestParams, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
Log.e("t", "işlem tamam");
uploadedFile = true;
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
uploadedFile = false;
}
});
}
requestParams PARAMS您的Web服务,文件,您知道您的文件。 您可以编辑自己的功能。
在build.gradle中,您必须添加此代码在相关块中编译'com.loopj.android:android-async-http:1.4.9'然后同步。
请至https://gist.github.com完整的日志从logcat中为了更好地理解您的问题解决了它自己。为什么要使用旧的QuickBlox Android SDK? –
请检查。 https://gist.github.com/sheikhrashid/27a90215860d1279d3bf3ed0f7d9fa4a –
您使用QuickBlox Android SDK的非常旧的版本(它可以包含已在最新版本中修复的问题),请使用最新版本检查您的问题。 –