0

ユーザーがMVCポートレットを使用してファイルを保存できるようにしたい。私のコードでは、ajax呼び出しを行っているため、リソース応答である必要があります。

response.setContentType( "application/octet-stream" );
response.setProperty("Content-Disposition","attachment; filename=\""+fname+"\"");
response.setContentLength(b.length);
OutputStream  po= response.getPortletOutputStream();
po.write(b,0,b.length);
po.flush();
po.close();

私がそうするときのajax応答alert(resp)では、ファイルのコンテンツ全体がアラートで取得されていますが、それでもダウンロードのオプションがありません。

事前に助けて感謝してください;)

4

1 に答える 1

0

ええと、あなたは応答を受け取るので、あなたはユーザーがそれをダウンロードすることを許可する必要があります。たとえば、HTMLdata: プロトコルを使用して、ブラウザをsmtにリダイレクトできます。お気に入り

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAA...

PNG画像の場合。

とにかく、ポートレットへの通常のリクエストを使用できませんか?その時は些細なことです。

于 2011-10-22T08:48:20.913 に答える