AN HTTPD ゲストブック/コメント集(2003年5月10日18:23)


いしどう ishidou@po.iijnet.or.jp 2003/05/11 01:41

ゆきさんへ。

思ったことを書きますね。
・Content-disposition ヘッダはいらないのではないでしょうか。この行を
コメントアウトしてビルドして実行してみたらどうなるでしょうか?
・当然、C:\Documents and Settings\All Users\Documents\My Music\beck.asf は
存在していますよね? LoadFromFileからは正常に戻っていますよね? このあたりを
try…exceptionでくくって、例外をどこか別のところでつかまえてみたらどうでしょう?

とりあえず、AN HTTPDには直接関係はない話題ではないかな、とも思いました。


中田昭雄 nakata@st.rim.or.jp 2003/05/10 20:02

ゆきさん、
Delphi の「Webアプリケーション」というのは CGI(か、ISAPI)として動作するのでしょうから、AN HTTPD の設定は関係ないでしょう。

トレースログで、どういうレスポンスを返しているかを見るのが手がかりになるのでは?


ゆき k_hello@fne.freeserve.ne.jp 2003/05/10 18:23

こんにちは、いつもお世話になります.

Delphi7 で以下のようなプログラムを作成したのですが
ASFファイルがWMPでうまく動作しません。
ファイルタイプの設定には「video/x-ms-asf」を追加しています。
他になにか設定しなければいけないのでしょうか?

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 
unit HPTestMain;

interface

uses
SysUtils, Classes, HTTPApp;

type
TWebModuleTest = class(TWebModule)
procedure WebModuleTestWebActionItemMainAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
procedure WebModuleCreate(Sender: TObject);
procedure WebModuleDestroy(Sender: TObject);
private
MemS: TMemoryStream;
public
{ Public 宣言 }
end;

var
WebModuleTest: TWebModuleTest;

implementation

{$R *.dfm}

procedure TWebModuleTest.WebModuleCreate(Sender: TObject);
begin
MemS := TMemoryStream.Create;
end;

procedure TWebModuleTest.WebModuleDestroy(Sender: TObject);
begin
MemS.Free;
end;

procedure TWebModuleTest.WebModuleTestWebActionItemMainAction(
Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
MemS.LoadFromFile('C:\Documents and Settings\All Users\Documents\My Music\beck.asf');
MemS.Position := 0;
Response.ContentLength := MemS.Size;
Response.CustomHeaders.Add('Content-Disposition:inline; filename="E:\WWW\HomePage\beck.asf"');
Response.ContentType := 'video/x-ms-asf';
Response.ContentStream := MemS;
Response.SendResponse;
end;

end.