2

私の質問はタイトルです。datasnapレストサーバーがあります。javaまたはjavaスクリプトを使用してファイルをアップロードします。どうすればよいですか?(サンプルコードを持っているのが一番です)どうもありがとうございました!

4

1 に答える 1

2

私はかつてストリームをREST呼び出しに渡そうとしましたが、最終的には直接WebBrokerリクエストを使用してページにアップロードすることにしました...これは管理が簡単です。フォームを使用してユーザーがアップロードするファイルを選択できるようにするときに受け取るマルチパートリクエストデータを管理する必要があるため、これも簡単ではありません。

これは、WebModuleBeforeDispatchで使用しているコードの一部です。

タイプTMyIdHTTPAppRequest=class(TIdHTTPAppRequest);

    haReq := TMyIdHTTPAppRequest(Request);
    fname := IntToStr (haReq.ContentLength);
    multi := TMultipartRequestFiles.Create(haReq.FRequestInfo,
      haReq.content);

    if (multi.Count > 0) and Assigned (multi.Items[0]) then
    begin
     theFile := TFileStream.Create(ServerConf['fileupload:tempdir'] + folder + '\' +
        multi.Items[0].FileName, fmCreate);
      multi.Items[0].Stream.Position := 0;
      TheFile.CopyFrom(multi.Items[0].Stream, multi.Items[0].Stream.Size);
      theFile.Free;

ただし、これは私が持っているカスタムTMultipartRequestFilesに基づいており、DelphiデータスナップのRelaxオープンソース拡張機能の一部としてクリーンアップしてロードしようとしています。

ファイルのアップロードを管理する他のソリューションはありますか?インディですぐに使えるものがあるはずだと思います。私は何年も前にそのクラスを書きました。

于 2012-07-29T16:24:45.057 に答える