首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Delphi7ISAPI WebBroker文件上传

Delphi7ISAPI WebBroker文件上传
EN

Stack Overflow用户
提问于 2014-11-26 17:15:49
回答 2查看 1.4K关注 0票数 2

我正在尝试接受Delphi 7 Webbroker中的文件上传。

我使用的是Shiv的TMsMultipartParser,但Chrome有问题。我无法访问分析过的数据(令人惊讶的是,Explorer工作得很好)。

这是我的密码:

代码语言:javascript
复制
with TMsMultipartFormParser.Create do
begin
    Parse(Request);

    lsExternalID:=ContentFields.Values['external_id'];

    if (lsExternalID='') then
        raise Exception.Create('No external ID');

    for i := 0 to Files.Count -1 do
    begin
        lsFileName:=files[i].FileName;
        //Rename file using external ID (not included for simplicity)
        Files[i].SaveToFile(lsFilename);
    end;
    Response.Content := 'OK';
    free;
end;

正如建议的这里一样,我试图使用http://www.mrsoft.org/Delphi/MultipartParser.pas,但无法编译它。它使用的是一个叫UniversalUtils的单位,我在任何地方都找不到。

我知道这是一项非常过时的技术。几乎所有对它的引用都已经从网上消失了(相信我,我已经搜索过了)。购买任何帮助将是非常感谢的。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-02 10:11:45

多亏了@mrabat,我终于解决了我的问题。这个项目从Delphi 5开始,后来升级到Delphi 7(不能进一步升级,因为很多部分不能支持Unicode字符串,我们使用ANSI)。我们使用Shiv的TMsMultipartParser,因为Delphi5没有包含任何解析器。Delphi7在单元TMultipartContentParser中有ReqMulti.pas,它工作得很好。

对于任何需要示例的人,我将发布我的工作代码:

代码语言:javascript
复制
with TMultipartContentParser.Create(Request) do
begin
    lsExternalID:=ContentFields.Values['external_id'];
    if (lsExternalID='') then
        raise Exception.Create('No external ID');

    for i := 0 to Request.Files.Count -1 do
    begin
        lsFileName:=Request.Files[i].FileName;
        //Rename file using external ID (not included for simplicity)
        TMemoryStream(Request.Files[i].Stream).SaveToFile(lsFilename);
    end;
    Response.Content := 'OK';
    Free;
end;
票数 2
EN

Stack Overflow用户

发布于 2014-11-27 08:42:19

我曾经在这里写过类似的东西:https://github.com/stijnsanders/xxm/blob/master/Delphi/common/xxmParams.pas#L159,但它可能与解析头行的SplitHeaderValue紧密耦合,以及控制传入数据的TStreamNozzle。(以及TXxmReqPar...对象和IXxmContext.)

(当然,我们热烈欢迎您接受xxm的文件上传.)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27155153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档