MORMOT REST文件上传

上传数据格式必须是:MULTIPART/FORM-DATA

uses SynCommons

后端处理参照下列代码:

后端处理参照下列代码:
procedure TWebEnv.processMultiPartFormData;
var
i: Integer;
cFileName, cName, cValue: string;
mp: TMultiPart;
begin
MultiPartFormDataDecode(FContext.InContentType, FContext.InContent, FMultiPartFields);
for i := Low(FMultiPartFields) to High(FMultiPartFields) do begin
mp := FMultiPartFields[i];
cFileName := Server.SaveUpload(mp);
cName := UTF8ToString(mp.Name);
if Length(cFileName) > 0 then begin
cValue := FContentFields.Values[cName];
if Length(cValue) > 0 then cValue := cValue + ',';
cValue := cValue + cFileName;
FContentFields.Values[cName] := cValue;
FMultiPartFields.FileName := StringToUTF8(cFileName);
end
else FContentFields.Values[cName] := UTF8ToString(StringReplaceAll(mp.Content, #13#10, '\n'));
end;
end;

  

最新文章

  1. cocoaPods 的安装和使用
  2. 封装Js库从获取控件的value值开始
  3. 洛谷P3371 【模板】单源最短路径
  4. “连不上 ArcGIS License Manager ”的一点常用诊断方法
  5. 如何有效地报告 Bug
  6. Linux命令:chmod命令
  7. CSS基础笔记
  8. EC读书笔记系列之3:条款5、条款6、条款7
  9. vim: vim快捷键
  10. bootstrap-datetimepicker bootstrap-datepicker bootstrap-timepicker 时间插件
  11. Chapter 5 Blood Type——5
  12. c指针类型的作用
  13. Java对象的浅拷贝和深拷贝&&String类型的赋值
  14. Vue-cli 搭建web服务介绍
  15. python基础08_set集合
  16. IMEI
  17. 无旋转Treap简介
  18. Flutter实例一--底部规则导航栏制作
  19. CString成员函数详解[转]
  20. arcgispro加字段,字段修改

热门文章

  1. jQuery中的DOM操作(三)
  2. Nexus安装和使用
  3. Odoo Controller详解
  4. Linux-crontab定时执行脚本配置
  5. Codeforces H. Prime Gift(折半枚举二分)
  6. Fiddler抓websocket协议的包,用jmeter做并发测试
  7. php析构函数什么时候调用?
  8. JQuery系列(6) - jQuery设计思想
  9. spring MVC核心思想
  10. HTTP Status 500 - javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag