Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从Android Webview上载图像时文件名不匹配且缺少扩展名_Php_Android_Image_Webview - Fatal编程技术网

Php 从Android Webview上载图像时文件名不匹配且缺少扩展名

Php 从Android Webview上载图像时文件名不匹配且缺少扩展名,php,android,image,webview,Php,Android,Image,Webview,基本上,我按照的答案在上传中实现文件选择器 WebChromeClient mWebChromeClient = new WebChromeClient() { @Override public void onReceivedTitle(WebView view, String title) { if ((title != null) && (title.trim().length() != 0)) {

基本上,我按照的答案在上传中实现文件选择器

     WebChromeClient mWebChromeClient = new WebChromeClient() {

        @Override
        public void onReceivedTitle(WebView view, String title) {
            if ((title != null) && (title.trim().length() != 0)) {
                setTitle(title);
            }


        }

        public void openFileChooser(ValueCallback<Uri> uploadMsg) {  

         mUploadMessage = uploadMsg;  
         Intent i = new Intent(Intent.ACTION_GET_CONTENT);  
         i.addCategory(Intent.CATEGORY_OPENABLE);  
         i.setType("image/*");  
         MainActivity.this.startActivityForResult(Intent.createChooser(i,"File Chooser"), FILECHOOSER_RESULTCODE);  
        }

       public void openFileChooser(ValueCallback uploadMsg, String acceptType) {
            mUploadMessage = uploadMsg;
            Intent i = new Intent(Intent.ACTION_GET_CONTENT);
            i.addCategory(Intent.CATEGORY_OPENABLE);
            i.setType("image/*");
            MainActivity.this.startActivityForResult(
            Intent.createChooser(i, "File Chooser"),
            FILECHOOSER_RESULTCODE);
        }

     //For Android 4.1
        public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture){
            mUploadMessage = uploadMsg;  
            Intent i = new Intent(Intent.ACTION_GET_CONTENT);  
            i.addCategory(Intent.CATEGORY_OPENABLE);  
            i.setType("image/*");  
            MainActivity.this.startActivityForResult( Intent.createChooser( i, "File Chooser" ), MainActivity.FILECHOOSER_RESULTCODE );
        }
    };

    protected void onActivityResult(int requestCode, int resultCode,  
            Intent intent) 
    {  
        if(requestCode==FILECHOOSER_RESULTCODE)  
        {  
            if (null == mUploadMessage) return;  
            Uri result = intent == null || resultCode != RESULT_OK ? null  
            : intent.getData();
            mUploadMessage.onReceiveValue(result);  
            mUploadMessage = null;  
        }
    }
WebChromeClient mWebChromeClient=新的WebChromeClient(){
@凌驾
接收到的标题上的公共无效(WebView视图,字符串标题){
如果((title!=null)&&(title.trim().length()!=0)){
片名(片名);
}
}
public void openFileChooser(ValueCallback uploadMsg){
mUploadMessage=上传消息;
意向i=新意向(意向.行动\u获取\u内容);
i、 addCategory(意图。类别可打开);
i、 setType(“image/*”);
MainActivity.this.startActivityForResult(Intent.createChooser(i,“文件选择器”),FILECHOOSER\u RESULTCODE);
}
public void openFileChooser(ValueCallback uploadMsg,String acceptType){
mUploadMessage=上传消息;
意向i=新意向(意向.行动\u获取\u内容);
i、 addCategory(意图。类别可打开);
i、 setType(“image/*”);
main activity.this.startActivityForResult(
Intent.createChooser(i,“文件选择器”),
文件选择器\u结果代码);
}
//适用于Android 4.1
public void openFileChooser(ValueCallback uploadMsg、字符串接受类型、字符串捕获){
mUploadMessage=上传消息;
意向i=新意向(意向.行动\u获取\u内容);
i、 addCategory(意图。类别可打开);
i、 setType(“image/*”);
MainActivity.this.startActivityForResult(Intent.createChooser(i,“文件选择器”)、MainActivity.FILECHOOSER\u RESULTCODE;
}
};
ActivityResult上受保护的void(int请求代码、int结果代码、,
意图(意图)
{  
if(requestCode==FILECHOOSER\u RESULTCODE)
{  
if(null==mUploadMessage)返回;
Uri result=intent==null | | resultCode!=结果_确定?null
:intent.getData();
mUploadMessage.onReceiveValue(结果);
mUploadMessage=null;
}
}
但是,当结果传回webview时,图像的“文件名”并不总是准确的名称。(例如,abc.jpg)。在我的后端PHP中使用print_r($_FILES[“file”])时,它显示的文件名如下所示:

而文件名与原始图片不同,并且内部没有文件扩展名(.jpg、.gif等)。但是图像本身可以成功上传


因为我需要对图像的文件名(最重要的是类型检查的文件扩展名)进行操作,所以我想问一下如何从Webview检索图像结果,哪一个会得到它的真实文件名?(及其文件扩展名?

您解决了这个问题吗?我也面临同样的问题。