0

I am currently working on one POC where pdf attachment needs to be uploaded in Hyperledger Composer. From UI (angular) uploaded PDF converted into base64 string and same is passed composer rest server api for creation/updation of asset. But when file size is more than 40 KB then following error gets displyed as "entity too large".This error is thrown by composer rest server only. There is no error on fabric network.

Unhandled error for request POST /api/UpdateContractDetails: Error: request entity too large at readStream (/home/ttandale/.nvm/versions/node/v6.11.2/lib/node_modules/composer-rest-server/node_modules/raw-body/index.js:196:17) at getRawBody (/home/ttandale/.nvm/versions/node/v6.11.2/lib/node_modules/composer-rest-server/node_modules/raw-body/index.js:106:12) at read (/home/ttandale/.nvm/versions/node/v6.11.2/lib/node_modules/composer-rest-server/node_modules/body-parser/lib/read.js:76:3) at jsonParser (/home/ttandale/.nvm/versions/node/v6.11.2/lib/node_modules/composer-rest-server/node_modules/body-parser/lib/types/json.js:127:5) at Layer.handle [as handle_request] (/home/ttandale/.nvm/versions/node/v6.11.2/lib/node_modules/composer-rest-server/node_modules/express/lib/router/layer.js:95:5) at trim_prefix (/home/ttandale/.nvm/versions/node/v6.11.2/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:317:13) at /home/ttandale/.nvm/versions/node/v6.11.2/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:284:7 at Function.process_params (/home/ttandale/.nvm/versions/node/v6.11.2/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:335:12) at next (/home/ttandale/.nvm/versions/node/v6.11.2/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:275:10) at /home/ttandale/.nvm/versions/node/v6.11.2/lib/node_modules/composer-rest-server/node_modules/loopback/server/middleware/token.js:130:7 at /home/ttandale/.nvm/versions/node/v6.11.2/lib/node_modules/composer-rest-server/node_modules/loopback/common/models/access-token.js:108:15 at /home/ttandale/.nvm/versions/node/v6.11.2/lib/node_modules/composer-rest-server/node_modules/loopback/common/models/access-token.js:171:11 at _combinedTickCallback (internal/process/next_tick.js:73:7) at process._tickCallback (internal/process/next_tick.js:104:9)

Is there any size limit for this??? In 0.6 version of fabric we have uploaded file size above 1 MB. We have scenario where file size would be max of 2 MB. Please help and guide on this.

  • Possible duplicate of [Composer rest server entity too large](https://stackoverflow.com/questions/52238352/composer-rest-server-entity-too-large) – Monarth Sarvaiya Oct 31 '18 at 07:06

2 Answers2

1

I had the same issue in handling base64 encoded images. The problem is not with Hyperledger Fabric. Basically in the default configuration, rest client restrict the request size to 100kb. You can increase this limit by editing the server.js file located in path_to_rest_server/server

In my case it was $HOME/.nvm/versions/node/v8.11.1/lib/node_modules/composer-rest-server/server/

Please refer this answer

Jakub Bujny
  • 3,597
  • 7
  • 25
LahiruE
  • 65
  • 1
  • 11
0

see response on this Stack Overflow here -> is there any size limit for pdf in hyperledger fabric?

The error Error: request entity too large at readStream indicates this is technically a Node issue. Use the suggested solution (in fact there's two, at least) in the other post. cheers

ps. you can also read more on this S/O for limit (and adjustment) Error: request entity too large on limit changes (scroll down). Just FYI.

Paul O'Mahony
  • 6,680
  • 1
  • 7
  • 15