Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.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
Java HttpURLConnection错误网关:502错误_Java_Android_File Upload_Httpurlconnection_Dataoutputstream - Fatal编程技术网

Java HttpURLConnection错误网关:502错误

Java HttpURLConnection错误网关:502错误,java,android,file-upload,httpurlconnection,dataoutputstream,Java,Android,File Upload,Httpurlconnection,Dataoutputstream,我有一个服务器来接收媒体jpg格式和mp4格式。交付是通过HttpURLConnection进行的。据我所知,这是使用http和https文件传输的最佳解决方案。尝试使用以下代码通过http工作: FileInputStream fileInputStream = new FileInputStream(new File(sourceFileUri) ); URL url = new URL(uploadURL); connection = (HttpURLCo

我有一个服务器来接收媒体jpg格式和mp4格式。交付是通过HttpURLConnection进行的。据我所知,这是使用http和https文件传输的最佳解决方案。尝试使用以下代码通过http工作:

FileInputStream fileInputStream = new FileInputStream(new File(sourceFileUri) );

        URL url = new URL(uploadURL);
        connection = (HttpURLConnection) url.openConnection();

        connection.setDoInput(true);
        connection.setDoOutput(true);
        connection.setUseCaches(false);

        connection.setRequestMethod("POST");

        connection.setRequestProperty("Connection", "Keep-Alive");
        connection.setRequestProperty("Content-Type", "multipart/form-data;boundary="+boundary);

        outputStream = new DataOutputStream( connection.getOutputStream() );
        outputStream.writeBytes(twoHyphens + boundary + lineEnd);
        outputStream.writeBytes("Content-Disposition: form-data; name=\"uploadedfile\";filename=\"" + sourceFileUri +"\"" + lineEnd);
        outputStream.writeBytes(lineEnd);

        bytesAvailable = fileInputStream.available();
        bufferSize = Math.min(bytesAvailable, maxBufferSize);
        buffer = new byte[bufferSize];

        bytesRead = fileInputStream.read(buffer, 0, bufferSize);

        Log.d(TAG, String.valueOf(bytesRead));

        while (bytesRead > 0)
        {
            outputStream.write(buffer, 0, bufferSize);
            bytesAvailable = fileInputStream.available();
            bufferSize = Math.min(bytesAvailable, maxBufferSize);
            bytesRead = fileInputStream.read(buffer, 0, bufferSize);
        }

        outputStream.writeBytes(lineEnd);
        outputStream.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);

        fileInputStream.close();
        outputStream.close();FileInputStream fileInputStream = new FileInputStream(new File(sourceFileUri) );

        URL url = new URL(uploadURL);
        connection = (HttpURLConnection) url.openConnection();

        connection.setDoInput(true);
        connection.setDoOutput(true);
        connection.setUseCaches(false);

        connection.setRequestMethod("POST");

        connection.setRequestProperty("Connection", "Keep-Alive");
        connection.setRequestProperty("Content-Type", "multipart/form-data;boundary="+boundary);

        outputStream = new DataOutputStream( connection.getOutputStream() );
        outputStream.writeBytes(twoHyphens + boundary + lineEnd);
        outputStream.writeBytes("Content-Disposition: form-data; name=\"uploadedfile\";filename=\"" + sourceFileUri +"\"" + lineEnd);
        outputStream.writeBytes(lineEnd);

        bytesAvailable = fileInputStream.available();
        bufferSize = Math.min(bytesAvailable, maxBufferSize);
        buffer = new byte[bufferSize];

        bytesRead = fileInputStream.read(buffer, 0, bufferSize);

        Log.d(TAG, String.valueOf(bytesRead));

        while (bytesRead > 0)
        {
            outputStream.write(buffer, 0, bufferSize);
            bytesAvailable = fileInputStream.available();
            bufferSize = Math.min(bytesAvailable, maxBufferSize);
            bytesRead = fileInputStream.read(buffer, 0, bufferSize);
        }

        outputStream.writeBytes(lineEnd);
        outputStream.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);

        fileInputStream.close();
        outputStream.close();
一旦我对传入的位流文件进行了记录,我就会得到一个服务器错误“502坏网关”。这部分代码有什么问题?我找了5个小时的问题,但什么也没找到