0
Я загружаю изображение с SD-карты в AWS S3, он загружается правильно, но проблема в том, что он создает папку с дорожкой SD-карты в AWS, подобную этой «/storage/sdcard0/Documents/ABCD/xyz.jpg», я хочу только для файлов без создания каких-либо папок.Как загрузить только файлы без создания SD-карты в AWS S3?
String csvPath = Environment.getExternalStorageDirectory().getAbsolutePath()+"/Documents/ABCD/xyz.jpg";
S3PutObjectTask s3 = new S3PutObjectTask(this,fileName);
s3.execute(fileName);
public class S3PutObjectTask extends AsyncTask<String, Void, S3TaskResult> {
/*Variable*/
Activity activity;
String imageName;
String fileName;
ProgressDialog pDialog;
/*AWS*/
AmazonS3Client s3Client;
public S3PutObjectTask(Activity activity,String fileName) {
this.activity = activity;
this.fileName = fileName;
}
@Override
protected void onPreExecute(){
super.onPreExecute();
pDialog = new ProgressDialog(activity);
pDialog.setTitle("");
pDialog.setMessage("Please Wait...");
pDialog.setCancelable(false);
pDialog.show();
s3Client = new AmazonS3Client(new BasicAWSCredentials(AppConstants.ACCESS_KEY_ID, AppConstants.SECRET_KEY));
s3Client.setRegion(Region.getRegion(Regions.US_EAST_1));
}
@Override
protected S3TaskResult doInBackground(String... uris) {
S3TaskResult result = new S3TaskResult();
if (uris == null || uris[0].length()==0){
return null;
}
Uri selectedCSV = Uri.fromFile(new File(uris[0]));
ContentResolver resolver = activity.getContentResolver();
File file=new File(uris[0]);
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType("image/jpeg");
if(file.length()!=0){
metadata.setContentLength(file.length());
}
try {
PutObjectRequest por = new PutObjectRequest(AppConstants.getAbcdListBucket(),uris[0],
resolver.openInputStream(selectedCSV),metadata);
s3Client.putObject(por);
} catch (Exception exception) {
result.setErrorMessage(exception.getMessage());
}
return result;
}
protected void onPostExecute(S3TaskResult result){
if(pDialog!=null && pDialog.isShowing()){
pDialog.dismiss();
}
}
Просьба ознакомиться с моим кодом и предложить мне некоторое решение.
эй спасибо, можете ли вы рассказать мне, как загружать только файлы, не создавая никакого пути в AWS ... –