The promise of smart city leads to store massive sensitive IoT data in cloud storage from various sources. Storage burden and security concerns are the most challenging issues. Message-Locked Encryption (MLE) and Proof of Storage (PoS) are useful tools to solve these problems. MLE encrypts data meanwhile enabling deduplication on them to save storage, and PoS checks data integrity in case of any data corruptions. However, trivial combination of PoS with MLE results in additional metadata which contradicts with the aim of deduplication. Therefore, how to integrate PoS with MLE for IoT data is an interesting research problem. To solve this problem, we propose a block-level message-locked encryption scheme with polynomial commitment for IoT data, called BL-MLE-PC. We introduce a unique set of metadata called Quadruple Tags (QTs) which can serve as: block identifiers, PoW tags, PoS tags and decryption keys. In addition, we use polynomial commitment to obtain fast and efficient data auditing. Our scheme can deduplicate under block-level for fine-grained saving. We prove that our scheme is secure under predefined security models. The analysis shows our scheme is efficient.