読者です 読者をやめる 読者になる 読者になる

IT業界のすみっこ暮らし

ふと気がついたときの記録

20170526ブクマ

www.slideshare.net

www.webprofessional.jp

paiza.hatenablog.com

qiita.com

qiita.com

qiita.com

qiita.com

qiita.com

qiita.com

qiita.com

qiita.com

qiita.com

Technical Development Guide Students - Guide to Technical Development - Google Careers

Microsoft Dynamics 365 言語のサポート

Hacker News

広告を非表示にする

Developer Podcasts

simpleprogrammer.com

usersnap.com

calvinkoepke.com

Software Engineering Radio

www.loggly.com

player.fm

www.makeuseof.com

player.fm

広告を非表示にする

.NET & Ajax:ファイルダウンロードのcallback設定を行う

既存のファイルダウンロード

コントローラーでFileを返して、location.hrefでファイルダウンロードを行う。

HomeController.cs

public ActionResult FileDownload()
{
    byte[] stream;
    string fileName;
    
    // 処理
    
    return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", fileName);
}

js

location.href = 'http://myhome/Home/FileDownload';

上記のコードでサーバー側で作成したファイルをダウンロードすることは出来る。
でもファイルの作成時間が長くなると、ユーザーからみれば、今システムがファイルをダウンロード中なのか処理が失敗したのかをファイルが全て作成され、ローカルに保存されるまで気付けないので、ユーザーを不安にさせる可能性がある。
また、ダウンロードが失敗したと勘違いし、処理途中に別の行動に移る可能性もある。

ので、ファイルダウンロードの間はローディング画面を表示させ、ファイルがダウンロードされたらそれを消す処理がしたい。

⇒ ファイルダウンロードの際にCallback処理がしたい!


ってなりました。
以下、ファイルダウンロードのcallback設定の手順です。

1、jquery.fileDownloadを導入する

johnculviner.com

ダウンロードはこちら

https://github.com/johnculviner/jquery.fileDownload/tree/master/src/Scripts

jquery.fileDownload.js」だけでOK

2、Javascript

js

// ローディング画面表示処理
$.fileDownload('http://myhome/Home/FileDownload', {
    successCallback: function (url) {
        // ローディング画面非表示処理
    },
    failCallback: function (html, url) {
        // 失敗したときの処理
    }
});

3、Controller

jquery.fileDownloadのCallbackには以下のResponseヘッダーの設定が必要。 ファイルダウンロード時のレスポンスを確認し、以下のどれかがない場合は設定する。 今回の場合は「Set-Cookie」の追加設定だけでCallback処理が出来た。

Content-Disposition: attachment; filename=Report0.pdf
Set-Cookie: fileDownload=true; path=/


HomeController.cs

public ActionResult FileDownload()
{
    byte[] stream;
    string fileName;
    
    // 処理

    // Set-Cookieを設定
    Response.AppendHeader("Set-Cookie", "fileDownload=true; path=/");

    return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", fileName);
}


以上

参考用jquery.fileDownloadデモサイト

jquery.fileDownload.js Demo

20170425ブクマ:ダミーデータ生成サイト

疑似個人情報データ生成サービス

疑似個人情報データ生成サービス

仮の会員情報を生成するときにとても便利!

氏名、性別、電話番号、メールアドレス、住所、生年月日などがランダムに生成されるので、検証時に色んなパターンを確認できる。


なんちゃって個人情報

なんちゃって個人情報

疑似個人情報生成と似てるが、住所が県名までしか生成できない。
代わりに婚姻関係と携帯電話のキャリア、カレーの食べ方?!が生成できる。


WEB製作時に使えそうなダミーデータ生成サービスまとめ10選(テキスト/画像/個人情報)

degitekunote.com


ダミーテキスト生成

日本語ダミーテキスト生成器

lipsum.sugutsukaeru.jp

ダミーテキストジェネレータ | Web制作小物ツール - dounokouno.com

rooms.webcrow.jp


ダミーメールアドレス生成

24時間利用可能な臨時メールアドレスを生成できる。

mytemp.email