ECOLA STATE PARK, Ore. – A Portland man said he fought off a shark by punching it several times in the gills after it attacked him in the water off the Oregon Coast Monday afternoon.

The attack occurred around 4 p.m. at Indian Beach, a popular surfing spot north of Cannon Beach.

Joseph Tanner, 29, was surfing when the shark bit his upper and lower thigh. Tanner told his brother, Noah Beck, that he fought off the shark with his fists.

"My brother told me he wasn't on his board, arms on board, and the shark came and grabbed him in the leg with its mouth and pulled him underwater. And he punched the shark in the gills, the shark let him go, he got on his board and paddled in," Beck said.

Witnesses said Tanner was in the water for about 15 minutes before he was attacked. West Woodworth, 29, was in the water nearby. He told police he saw Tanner flail around and get back on his board. Tanner then yelled at the other surfers and told them to get out of the water.

He and the other surfers paddled back to shore. Tanner, who is a trauma nurse, started directing Woodworth and others how to tie a tourniquet around his leg.

"He directed his own first aid, what needed to be done, he asked us a lot of questions, what we were seeing, if we saw spurting blood," said Jeff Rose, another witness who was at the beach when Tanner paddled back to shore.

Six people loaded Tanner onto his surf board and carried him to a parking lot to wait for an ambulance.

"When we showed up, he was on his surfboard, in a truck, with already two tourniquets on," White said.

Tanner told responders that the shark was "medium-big" and he thought it might have been a great white shark but he wasn't sure.

Another witness, a 42-year-old Portland man who didn't want his name to be released, told police he was about 10 feet away from Tanner when he saw him slip off his board. He asked Tanner if he was OK, and then saw a large dorsal fin and the back of the shark, which he said was about eight feet long.

Listen: Shark attack 911 call

Medics took Tanner to Legacy Emanuel hospital in Portland with serious injuries. Beck said his brother will be at the hospital for days but should keep his leg.

"There's definitely a chunk of thigh missing," Beck said. "He has several deep wounds that can't be closed so they have to be monitored closely for infection."

Rose said a friend of his saw a shark attack a seal in the same area about three months ago.

There are 16 species of shark found along the Oregon Coast, including great white sharks. There have been 27 shark attacks in Oregon since 1974. No one died.

Three warning signs were put up at Ecola State Park. Beaches remain open.