사진 업로드 기능을 만들었습니다. 사용자는 사진을 찍어서 파일에서 사진을 선택하여 서버에 업로드 할 수 있습니다.이미지가 서버에 업로드되었지만 이미지 뷰 응용 프로그램에 표시되지 않았습니다. android
사진이 서버에 업로드되었습니다. 하지만 내 애플 리케이션을 보면 오래된 이미지를 보여주고있다. 이미지가 내 앱의 이미지 뷰에서 업데이트되지 않습니다. 필자는 사용자가 원하는만큼 이미지를 설정할 수있는 공유 선호도에 대해 들었습니다.
사진을 업로드하고 글라이드 라이브러리를 사용하여 사진을 다운로드하여 앱에 표시하려면 내 앱의 POST 데이터에 Volley 라이브러리를 사용하고 있습니다.
사진 업로드 및 다운로드와 관련된 코드의 일부만 제공하고 있습니다. 문제를 확인하고 해결하도록 도와주세요.
public void showDialog(){
........
alertButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
alert.dismiss();
}
});
alertListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// ListViekw Clicked item index
if (position == 0) {
cameraIntent();
}
else if (position == 1){
galleryIntent();
}
}
});
}
private void galleryIntent()
{
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(Intent.createChooser(intent, "Select File"),SELECT_FILE);
}
public void cameraIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getActivity().getPackageManager()) != null) {
File cameraFolder;
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
cameraFolder = new File(Environment.getExternalStorageDirectory(), "image/");
} else {
cameraFolder = getActivity().getCacheDir();
}
if (!cameraFolder.exists()) {
cameraFolder.mkdirs();
}
String imageFileName = System.currentTimeMillis() + ".jpg";
File photoFile = new File(cameraFolder + imageFileName);
currentPhotoPath = photoFile.getAbsolutePath();
if (photoFile != null) {
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
startActivityForResult(takePictureIntent, REQUEST_CAMERA);
}
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == SELECT_FILE){
onSelectFromGalleryResult(data);
}
else if (requestCode == REQUEST_CAMERA) {
if (!TextUtils.isEmpty(currentPhotoPath)) {
galleryAddPic();
onCaptureImageResult();
}
}
}
}
private void galleryAddPic() {
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
File f = new File(currentPhotoPath);
Uri contentUri = Uri.fromFile(f);
mediaScanIntent.setData(contentUri);
this.getActivity().sendBroadcast(mediaScanIntent);
}
private void onCaptureImageResult() {
Bitmap bitmap = getBitmapFromPath(currentPhotoPath, 200, 200);
image.setImageBitmap(bitmap);
compressBitMap(bitmap);
}
private void onSelectFromGalleryResult(Intent data) {
...
}
private void compressBitMap(Bitmap bitmap) {
...
}
public static Bitmap getBitmapFromPath(String photoPath, int targetW, int targetH) {
....
}
private void uploadImage(final byte[] bytesArray){
}
}
저는 두 번째 해결책을 묶었지만 전혀 작동하지 않습니다. 더 나은 해결책에 대해 좀 더 설명해주십시오. 그것은 나를 위해 정말로 도움이 될 것입니다. 나는 어제부터 이세 스와 붙어 있었다. 나는 아직도 안드로이드 개발에있어 매우 새롭다. – tamrezh21
새 이미지를 업로드 할 때 이전 이미지를 대체 할 방법이 있습니까? – tamrezh21
첫 번째 해결 방법은 서버 내에 있습니다. 서버가 이미지 URL을 할당하면 사용자 ID가 사용됩니다. http :/mydomain/uploadimage & user = userid & time = 20170920183312 –