简体   繁体   English

我的应用未从上传的服务器中获取响应

[英]My App Is not retrieving a response from the server on upload

I have an app to upload Images to my company server I am Using koush Ion for the upload Now the Issue is The Upload Itself Works the images are being uploaded to the server BUT I don't get a popup response from the server saying Upload Success etc. The responses worked previously before i switched from APACHE to Ion 我有一个将图片上传到公司服务器的应用程序,我正在使用koush Ion进行上传,现在的问题是上传本身可以正常工作,但图片正在上传到服务器,但是我没有从服务器收到弹出式回应,说上传成功等等。在我从APACHE切换到Ion之前,响应以前已经起作用

After I click Upload seemingly nothing happens But the image is uploaded to the server but there is no response from the server with the usual popups of Upload Successful etc. The Code For the Response is in an ASP file 单击“上传”后,似乎什么也没发生,但是图像已上传到服务器,但是服务器没有响应,并且具有“成功上传”等常规弹出窗口。响应的代码位于ASP文件中

UploadActivity UploadActivity

package com.smartpractice.myapplication;

import android.Manifest;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.provider.MediaStore;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;

import androidx.annotation.NonNull;

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;

import com.google.gson.JsonObject;
import com.koushikdutta.ion.Ion;
import com.koushikdutta.async.future.FutureCallback;


import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;



public class CameraActivity extends AppCompatActivity implements View.OnClickListener{
    private final int PICK_IMAGE = 12345;
    private final int REQUEST_CAMERA = 6352;
    private static final int REQUEST_CAMERA_ACCESS_PERMISSION =5674;
    private Bitmap bitmap;

    String myURL;

    private ImageView imageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_camera);

        imageView =findViewById(R.id.imageView);
        Button fromCamera=findViewById(R.id.fromCamera);
        Button fromGallery=findViewById(R.id.fromGallery);
        Button upload=findViewById(R.id.upload);
        upload.setOnClickListener(this);
        fromCamera.setOnClickListener(this);
        fromGallery.setOnClickListener(this);


        if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)) {
            fromCamera.setVisibility(View.GONE);
        }

    }

    @Override
    public void onClick(View view) {

        switch (view.getId()) {
            case R.id.fromCamera:
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
                        && ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA)
                        != PackageManager.PERMISSION_GRANTED) {
                    requestPermissions(new String[]{Manifest.permission.CAMERA},
                            REQUEST_CAMERA_ACCESS_PERMISSION);
                }else {
                    getImageFromCamera();
                }
                break;
            case R.id.fromGallery:
                getImageFromGallery();
                break;
            case R.id.upload:
                if (bitmap != null)
                    uploadImageToServer();
                break;
        }

    }


    private void uploadImageToServer() {

        Uri.Builder builder = new Uri.Builder();
        builder.scheme("https")
                .authority("www.smartpractice.co.za")
                .appendPath("files-upload-ruben.asp")
                .appendQueryParameter("MyForm","Yes")
                .appendQueryParameter("ClientID", String.valueOf(R.id.clientid))
                .appendQueryParameter("Username",String.valueOf(R.id.emailtext))
                .appendQueryParameter("Pwd",String.valueOf(R.id.pwdtext));
               myURL =  builder.build().toString();

        File imageFile = persistImage(bitmap, "SP_Upload");
        Ion.with(this)
                .load(myURL)
                .setMultipartFile("SP-LOG", "image/jpeg", imageFile)
                .asJsonObject()
                .setCallback(new FutureCallback<JsonObject>() {
                    @Override
                    public void onCompleted(Exception e, JsonObject result) {

                    }
                });
    }

    private File persistImage(Bitmap bitmap, String name) {
        File filesDir = getApplicationContext().getFilesDir();
        File imageFile = new File(filesDir, name + ".jpg");

        OutputStream os;
        try {
            os = new FileOutputStream(imageFile);
            bitmap.compress(Bitmap.CompressFormat.JPEG, 100, os);
            os.flush();
            os.close();
        } catch (Exception e) {
            Log.e(getClass().getSimpleName(), "Error writing bitmap", e);
        }

        return imageFile;
    }


    private void getImageFromCamera() {
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(intent, REQUEST_CAMERA);
    }


    private void getImageFromGallery() {
        Intent intent = new Intent();
        intent.setType("image/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        if (intent.resolveActivity(getPackageManager()) != null) {
            startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE);
        }
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == PICK_IMAGE) {
            if (resultCode == Activity.RESULT_OK) {
                try {
                    InputStream inputStream = getContentResolver().openInputStream(data.getData());
                    bitmap = BitmapFactory.decodeStream(inputStream);
                    imageView.setImageBitmap(bitmap);
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                }

            }
        } else if (requestCode == REQUEST_CAMERA) {
            if (resultCode == Activity.RESULT_OK) {
                Bundle extras = data.getExtras();
                bitmap = (Bitmap) extras.get("data");
                imageView.setImageBitmap(bitmap);
            }
        }
    }


    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        if (requestCode == REQUEST_CAMERA_ACCESS_PERMISSION) {
            if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                getImageFromCamera();
            }
        } else {
            super.onRequestPermissionsResult(requestCode, permissions, grantResults);

        }
    }}

The request returns a string = "I am in", but callback expects JsonObject. 该请求返回一个字符串=“我在”,但是回调需要JsonObject。 Your server must return json format string. 您的服务器必须返回json格式的字符串。

Ion.with(this)
        .load(myURL)
        .setMultipartFile("SP-LOG", "image/jpeg", imageFile)
        .asJsonObject()
        .setCallback(new FutureCallback<JsonObject>() {
            @Override
            public void onCompleted(Exception e, JsonObject result) {

            }
        });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 ANDROID:服务器到我的Android应用的响应速度慢 - ANDROID: slow response from server to my android app 我的Android应用未从服务器获得任何响应 - My Android app is not getting any response from server 我尝试从我的Android应用程序访问我的localhost服务器中的jsp页面获得404响应 - I get 404 response trying to access a jsp page in my localhost server from my Android app 给我一个建议,以提高我的应用程序性能,有关从服务器检索大量数据(近10,000条记录)? - Give me a suggestion to improve my app performance, on retrieving huge data(nearly more than 10,000 records) from server? Android:尝试下载我新发布的应用程序时出现“从服务器 DFDFERH-01 检索信息时出错” - Android: “Error while retrieving information from server DFDFERH-01” when trying to download my new published app 从用户Google云端硬盘中选择任何文件,然后通过Android应用将其发送(上传)到我的服务器 - Pick any file from users Google Drive and send (Upload) it to my server via Android app 将图像从android应用上传到服务器 - upload an image from android app to the server 从android应用程序上传图像到服务器不起作用 - Upload image to server from android app not working 从Android应用程序将多个图像上传到服务器 - Upload multiple images to server from Android app 将图像从phonegap应用上传到服务器(servlet) - upload an image from phonegap app to the server (servlet)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM