Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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
Android 如何获取用户上传的PDF的链接_Android_Pdf - Fatal编程技术网

Android 如何获取用户上传的PDF的链接

Android 如何获取用户上传的PDF的链接,android,pdf,Android,Pdf,我正在制作一个问答应用程序,您可以在其中上传链接、视频、图像、PDF等,但我无法获取用户上传的PDF的生成链接。我试着寻找上传PDF解析数据库的方法,但所有这些方法都只展示了如何上传存储在Raw中的PDF。所以我决定将PDF存储为链接,然后使用WebBrowser打开PDF。我将分享我的上传方法,用户上传PDF的代码 上传: class Upload extends AsyncTask<Void, Void, Void> { private ProgressDialog pd

我正在制作一个问答应用程序,您可以在其中上传链接、视频、图像、PDF等,但我无法获取用户上传的PDF的生成链接。我试着寻找上传PDF解析数据库的方法,但所有这些方法都只展示了如何上传存储在Raw中的PDF。所以我决定将PDF存储为链接,然后使用WebBrowser打开PDF。我将分享我的上传方法,用户上传PDF的代码

上传:

class Upload extends AsyncTask<Void, Void, Void> {
    private ProgressDialog pd;
    private Context c;
    private Uri path;

    public Upload(Context c, Uri path) {
        this.c = c;
        this.path = path;
    }

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pd = ProgressDialog.show(c, "Uploading", "Please Wait");
    }

    @Override
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);
        pd.dismiss();
    }

    @Override
    protected Void doInBackground(Void... params) {
        String url_path = "http://192.168.43.50/projectpri/upload.php";
        HttpURLConnection conn = null;

        int maxBufferSize = 1024;
        try {
            URL url = new URL(url_path);
            conn = (HttpURLConnection) url.openConnection();
            conn.setDoOutput(true);
            conn.setUseCaches(false);
            conn.setDoInput(true);
            conn.setChunkedStreamingMode(1024);
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Connection", "Keep-Alive");
            conn.setRequestProperty("Content-Type", "multipart/form-data");

            OutputStream outputStream = conn.getOutputStream();
            InputStream inputStream = c.getContentResolver().openInputStream(path);

            int bytesAvailable = Objects.requireNonNull(inputStream).available();
            int bufferSize = Math.min(bytesAvailable, maxBufferSize);
            byte[] buffer = new byte[bufferSize];

            int bytesRead;
            while ((bytesRead = inputStream.read(buffer, 0, bufferSize)) != -1) {
                outputStream.write(buffer, 0, bytesRead);
            }
            outputStream.flush();
            inputStream.close();

            BufferedReader reader = new BufferedReader(new InputStreamReader(
                    conn.getInputStream()));
            String line;
            while ((line = reader.readLine()) != null) {
                Log.i("result", line);
            }
            reader.close();
            conn.disconnect();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (conn != null) {
                conn.disconnect();
            }
        }
        return null;
    }
}
类上载扩展异步任务{
私营部门;
私有上下文c;
私有Uri路径;
公共上载(上下文c、Uri路径){
这个.c=c;
this.path=path;
}
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
pd=ProgressDialog.show(c,“上传”,“请稍候”);
}
@凌驾
受保护的void onPostExecute(void结果){
super.onPostExecute(结果);
pd.解散();
}
@凌驾
受保护的Void doInBackground(Void…参数){
字符串url_路径=”http://192.168.43.50/projectpri/upload.php";
HttpURLConnection conn=null;
int maxBufferSize=1024;
试一试{
URL=新URL(URL\u路径);
conn=(HttpURLConnection)url.openConnection();
连接设置输出(真);
conn.SETUSECHACHES(假);
conn.setDoInput(真);
conn.setChunkedStreamingMode(1024);
conn.setRequestMethod(“POST”);
conn.setRequestProperty(“连接”、“保持活动”);
conn.setRequestProperty(“内容类型”、“多部分/表单数据”);
OutputStream OutputStream=conn.getOutputStream();
InputStream InputStream=c.getContentResolver().openInputStream(路径);
int bytesavable=Objects.requireNonNull(inputStream.available();
int bufferSize=Math.min(字节可用,maxBufferSize);
字节[]缓冲区=新字节[bufferSize];
int字节读取;
while((bytesRead=inputStream.read(buffer,0,bufferSize))!=-1){
写入(缓冲区,0,字节读取);
}
outputStream.flush();
inputStream.close();
BufferedReader reader=新的BufferedReader(新的InputStreamReader(
conn.getInputStream());
弦线;
而((line=reader.readLine())!=null){
Log.i(“结果”,第行);
}
reader.close();
连接断开();
}捕获(例外e){
e、 printStackTrace();
}最后{
如果(conn!=null){
连接断开();
}
}
返回null;
}
}
请告诉我在哪里可以从这个代码中获得PDF的链接。先谢谢你