java filebody出错_java-FileNotFoundException打开失败:Samsung设备上...

我想通过从文件管理器中选择文件来将文件上传到服务器,所以我通过使用此代码单击“按钮”来打开文件管理器,

button_upload_attachment.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

String[] galleryPermissions = {android.Manifest.permission.READ_EXTERNAL_STORAGE, android.Manifest.permission.WRITE_EXTERNAL_STORAGE};

if (EasyPermissions.hasPermissions(CIBILCaptureandUPLOAD.this, galleryPermissions)) {

Intent intent = new Intent();

intent.setType("*/*");

intent.setAction(Intent.ACTION_GET_CONTENT);

startActivityForResult(intent, 1);

} else {

EasyPermissions.requestPermissions(this, "Access for storage",

101, galleryPermissions);

}

}

});

和onActivityResult方法,我已经做了类似的事情来获取文件的路径,并让UploadToserver函数可以上传

@Override

public void onActivityResult(int requestCode, int resultCode, Intent data) {

//ImagesData = data;

try {

// When an Image is picked

if (requestCode == RESULT_LOAD_IMG && resultCode == RESULT_OK

&& null != data) {

Uri contentUri=data.getData();

Log.e("bbbbbbbbbbbbbb", contentUri.toString());

if(contentUri.toString().endsWith(".png")||contentUri.toString().endsWith("jpg") ||

contentUri.toString().endsWith(".pdf")){

photoFile= new File(contentUri.getPath());

if (photoFile.exists()) {

Log.e("photoFile", "File Exists");

}

if (photoFile != null) {

new AsyncTask() {

ProgressDialog pd;

@Override

protected void onPreExecute() {

pd = ProgressDialog.show(CIBILCaptureandUPLOAD.this, "", "Compressing...");

Log.e("PreExecute", "Compressing");

}

@Override

protected File doInBackground(String[] params) {

return photoFile;

}

@Override

protected void onPostExecute(File result) {

pd.dismiss();

if (result != null) {

new CIBILCaptureandUPLOAD.UploadFileToServer().execute(result);

}

}

}.execute("");

}

}else {

String[] filePathColumn = {MediaStore.Images.Media.DATA};

Cursor cursor = getContentResolver().query(contentUri,

filePathColumn, null, null, null);

int columnIndex = cursor.getColumnIndex(filePathColumn[0]);

String filePath = "";

if (cursor.moveToFirst()) {

filePath = cursor.getString(columnIndex);

}

Log.e("PATH", filePath);

photoFile = new File(filePath);

if (photoFile.exists()) {

Log.e("photoFile", "File Exists");

}

if (photoFile != null) {

new AsyncTask() {

ProgressDialog pd;

@Override

protected void onPreExecute() {

pd = ProgressDialog.show(CIBILCaptureandUPLOAD.this, "", "Compressing...");

Log.e("PreExecute", "Compressing");

}

@Override

protected File doInBackground(String[] params) {

return photoFile;

}

@Override

protected void onPostExecute(File result) {

pd.dismiss();

if (result != null) {

new CIBILCaptureandUPLOAD.UploadFileToServer().execute(result);

}

}

}.execute("");

}

}

}

它在其他设备上效果很好,但是在三星设备上

java.io.FileNotFoundException: /document/primary:Xender/other/When Strangers Meet_ 3 in 1 Box - John Harker.pdf: open failed: ENOENT (No such file or directory)

我的上传代码是

私有类UploadFileToServer扩展了AsyncTask {

????????私有静态最终字符串TAG =“ UploadFileToServer”;

// private ProgressBar progressBar;

// private String filePath = null;

// private TextView txtPercentage;

private ProgressDialog pd;

long totalSize = 0;

@Override

protected void onPreExecute() {

// setting progress bar to zero

// progressBar.setProgress(0);

pd = ProgressDialog.show(CIBILCaptureandUPLOAD.this, "", "Loading...");

super.onPreExecute();

}

@Override

protected void onProgressUpdate(Integer... progress) {

// Making progress bar visible

// progressBar.setVisibility(View.VISIBLE);

// updating progress bar value

pd.setMessage("Loading..." + progress[0]);

// progressBar.setProgress(progress[0]);

// updating percentage value

// txtPercentage.setText(String.valueOf(progress[0]) + "%");

}

@Override

protected String doInBackground(File... params) {

return uploadFile1(params[0]);

}

@SuppressWarnings("deprecation")

private String uploadFile1(File file) {

String responseString = null;

HttpClient httpclient = new DefaultHttpClient();

HttpPost httppost = new HttpPost(AppUtill.URL_CIBIL_imageupload);

try {

AndroidMultiPartEntity entity = new AndroidMultiPartEntity(

new AndroidMultiPartEntity.ProgressListener() {

@Override

public void transferred(long num) {

publishProgress((int) ((num / (float) totalSize) * 100));

}

});

File sourceFile = file;// new File(filePath);

entity.addPart("image", new FileBody(sourceFile));

entity.addPart("mid", new StringBody(memberid));

entity.addPart("did", new StringBody("0"));

entity.addPart("fid", new StringBody(formtypeid));

if (app_loadid == null) {

SharedPreferences sharedPreferences = getSharedPreferences("LID", MODE_PRIVATE);

app_loadid = sharedPreferences.getString("lid", "");

entity.addPart("lid", new StringBody(app_loadid));

} else {

entity.addPart("lid", new StringBody(app_loadid));

}

totalSize = entity.getContentLength();

httppost.setEntity(entity);

// Making server call

HttpResponse response = httpclient.execute(httppost);

HttpEntity r_entity = response.getEntity();

int statusCode = response.getStatusLine().getStatusCode();

System.out.println("statusCode +statusCode");

if (statusCode == 200) {

// Server response

System.out.println("statusCode +statusCode");

responseString = EntityUtils.toString(r_entity);

String success = String.valueOf(responseString.contains("1"));

if (success.matches("true")) {

uploadedFileCount++;

} else {

runOnUiThread(new Runnable() {

public void run() {

Toast.makeText(getApplicationContext(), "File not uploaded. Please upload again...", Toast.LENGTH_SHORT).show();

}

});

}

} else {

responseString = "Error occurred! Http Status Code: " + statusCode;

}

} catch (ClientProtocolException e) {

responseString = e.toString();

} catch (IOException e) {

responseString = e.toString();

}

return responseString;

}

@Override

protected void onPostExecute(String result) {

Log.e(TAG, "Response from server: " + result);

pd.dismiss();

if (uploadedFileCount == MAX_COUNT) {

AlertDialog.Builder alert = new AlertDialog.Builder(CIBILCaptureandUPLOAD.this);

alert.setTitle(R.string.app_name);

alert.setMessage("Reach to max upload limit");

alert.setCancelable(false);

alert.setPositiveButton("OK", null);

alert.create().show();

}

// showing the server response in an alert dialog

showAlert(result);

AppUtill.deleteFolderAndAllFile(CIBILCaptureandUPLOAD.this);

super.onPostExecute(result);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
蛋白质是生物体中普遍存在的一类重要生物大分子,由天然氨基酸通过肽键连接而成。它具有复杂的分子结构和特定的生物功能,是表达生物遗传性状的一类主要物质。 蛋白质的结构可分为四级:一级结构是组成蛋白质多肽链的线性氨基酸序列;二级结构是依靠不同氨基酸之间的C=O和N-H基团间的氢键形成的稳定结构,主要为α螺旋和β折叠;三级结构是通过多个二级结构元素在三维空间的排列所形成的一个蛋白质分子的三维结构;四级结构用于描述由不同多肽链(亚基)间相互作用形成具有功能的蛋白质复合物分子。 蛋白质在生物体内具有多种功能,包括提供能量、维持电解质平衡、信息交流、构成人的身体以及免疫等。例如,蛋白质分解可以为人体提供能量,每克蛋白质能产生4千卡的热能;血液里的蛋白质能帮助维持体内的酸碱平衡和血液的渗透压;蛋白质是组成人体器官组织的重要物质,可以修复受损的器官功能,以及维持细胞的生长和更新;蛋白质也是构成多种生理活性的物质,如免疫球蛋白,具有维持机体正常免疫功能的作用。 蛋白质的合成是指生物按照从脱氧核糖核酸(DNA)转录得到的信使核糖核酸(mRNA)上的遗传信息合成蛋白质的过程。这个过程包括氨基酸的活化、多肽链合成的起始、肽链的延长、肽链的终止和释放以及蛋白质合成后的加工修饰等步骤。 蛋白质降解是指食物中的蛋白质经过蛋白质降解酶的作用降解为多肽和氨基酸然后被人体吸收的过程。这个过程在细胞的生理活动中发挥着极其重要的作用,例如将蛋白质降解后成为小分子的氨基酸,并被循环利用;处理错误折叠的蛋白质以及多余组分,使之降解,以防机体产生错误应答。 总的来说,蛋白质是生物体内不可或缺的一类重要物质,对于维持生物体的正常生理功能具有至关重要的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值