发送带改装的字节时有效负载太大

payload is too large when sending byte with refit

这是客户端错误

 Refit.ApiException
   Message=Response status code does not indicate success: 413 (Payload Too 
   Large).
   Source=mscorlib
   StackTrace:
    at Refit.RequestBuilderImplementation+<>c__DisplayClass14_0`2[T,TBody]. 
   <BuildCancellableTaskFuncForMethod>b__0 (System.Net.Http.HttpClient client, 
   System.Threading.CancellationToken ct, System.Object[] paramList) [0x002bd] 
   in <cda9777f03ee4e9188064495e9f2e568>:0 
  at Kula.Addprofilepicture.Postbase (System.Byte[] base64strings) [0x0002b] in 
   C:\Users\blain\Desktop\Kula2\Kulaaa\Kula\Kula\Addprofilepicture.xaml.cs:81 
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c. 
  <ThrowAsync>b__7_0 (System.Object state) [0x00000] in 
   <19853c43ab794d18ab1a33ecb65b3c4d>:0 
  at Android.App.SyncContext+<>c__DisplayClass2_0.<Post>b__0 () [0x00000] in 
   <8c07a09624c14764b43f6b946a5a1f23>:0 
  at Java.Lang.Thread+RunnableImplementor.Run () [0x00008] in 
  `enter code here` <8c07a09624c14764b43f6b946a5a1f23>:0 
   at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr 
   native__this) [0x00009] in <8c07a09624c14764b43f6b946a5a1f23>:0 
   at (wrapper dynamic-method) 
   Android.Runtime.DynamicMethodNameCounter.43(intptr,intptr)

服务器端错误

 PayloadTooLargeError: request entity too large
    at IncomingMessage.onData 
    (C:\Users\blain\Desktop\KulaaBackend\node_modules\raw-body\index.js:246:12)
    at IncomingMessage.emit (events.js:210:5)
    at addChunk (_stream_readable.js:308:12)
    at readableAddChunk (_stream_readable.js:289:11)
    at IncomingMessage.Readable.push (_stream_readable.js:223:10)
    at HTTPParser.parserOnBody (_http_common.js:128:22)

服务器端代码

app.post('/Phototest', (request, response) =>{
  console.log('request tried');
  console.log(request);

}) 

post字节码

    public async void Postbase(byte[] base64strings) {

            /*
            base64s s = new base64s()
            {
                base64string = base64strings

            };
            string stringpayload = JsonConvert.SerializeObject(s);
            await apiRequestHelper.RequestSaveProfilephotoAsync(stringpayload);
            */
            await myAPI.PostProfilePhoto(base64strings);

        }

这是改装 post 我也停止了 url 编码,因为我认为这可能会使它太大。所以我只是将它作为一个字节发送,仅此而已。不过,将来我可能需要用它发送电子邮件或令牌。

 [Post("/Phototest")]
        Task<string> PostProfilePhoto(Byte[] data);

如果您知道更好的发送格式,更短的格式,那就太棒了,因为我将不得不为将来发送到服务器的数据量付费。

app.use(bodyParser.json({limit:'5000mb'})); app.use(bodyParser.urlencoded({limit:'5000mb',extended: true}));解决了我的问题

试试吧!它对我有用。快递v4 app.use(express.json({limit: '50mb'})); app.use(express.urlencoded({limit: '50mb'}));