Guardar Archivos en SQL Server

A continuación les comparto un ejemplo de cómo guardar archivos en una BD SQL Server, adicionalmente pueden leer el mime del archivo para la hora de la decodificación.

public String GuardarDocumento(String nombre, String valor, String path_img, int id_movimiento) throws SQLException, FileNotFoundException {
        Conexion objConexion = new Conexion();
        String salida = "";
        int len;
        String query = "insert into documentos(nombre_documento,ruta_documento,movimiento,archivo_binario) values(?,?,?,?)";
        PreparedStatement ps = objConexion.Conectar().prepareStatement(query, PreparedStatement.RETURN_GENERATED_KEYS);
        try {            
            File file = new File(path_img);
            FileInputStream fis = new FileInputStream(file);
            len = (int) file.length();
            ps.setString(1, nombre);//Nombre del Documento
            ps.setString(2, valor);//ruta al doc
            ps.setInt(3, id_movimiento);//id_movimiento            
            ps.setBinaryStream(4, fis, len);
            ps.executeUpdate();
            ps.close();
            salida = "OK";
        } catch (Exception e) {
            System.out.println("EXCP->" + e);
            System.out.println("eeee=>" + e.getMessage());
            e.printStackTrace();
           salida="ERROR";
        }
        return salida;
    }