More than 1.5 million people in eastern China have been evacuated from their homes as Typhoon Haikui cuts a swathe through the region.
The storm came ashore in Zhejiang province early on Wednesday bringing heavy rains and winds of up to 150km per hour.
Many domestic and international flights from Shanghai's two airports were cancelled.
No ships had been allowed in or out of the port of Shanghai since Tuesday night. Another port in Ningbo, in Zhejiang province, is also shut.
Haikui is the third typhoon to hit China's eastern coast in a week since storms Saola and Damrey hit the region over the weekend, causing flooding and landslides.