pluploadは写真のアップロードとプレビューを実現します(思考分析とコード)

私は誰もがウェブ開発をしているときにファイルのアップロードとプレビューの問題に遭遇すると思います。今回私がpluploadを選択した理由は非常に単純です。フラッシュに依存せず、html5、flash、silverlight、html4をサポートしています。互換性は非常によく、ユーザーエクスペリエンスは良好です。プラグインをダウンロードしなくても使用できます。それが理由です。さて、一緒に実装プロセスを見てみましょう。

1.実現のアイデア

プロセス全体を2つのステップで実現する必要があります。アップロードとプレビューです。

1.アップロード:この手順は理解しやすいです。つまり、ユーザーが画像を選択した後、その画像をサーバーにアップロードします。これは公式のAPIを見れば実現できると思います。

2.プレビュー:アップロードが完了したら、サーバーにアップロードされた画像のパスをフロントエンドページに返す必要があります。プレビューを完了するためのパスを取得したら、imgのsrc属性を変更できます。

第二に、ソースコードの実装

<script type="text/javascript">

    $(function () {

        var uploader = new plupload.Uploader({
            runtimes: 'html5,flash,silverlight,html4',
            browse_button: 'file_upload', //触发文件选择
            //container: document.getElementById('file_upload'),
            url: '../../../ComService/HandlerUploadify.ashx?action=UP',
            flash_swf_url: '../../Content/js/plupload-2.3.6/js/Moxie.swf',
            silverlight_xap_url: '../../Content/js/plupload-2.3.6/js/Moxie.xap',
            filters: {
                max_file_size: '40mb',
                mime_types: [
                    { title: "Image files", extensions: "jpg,gif,png" }
                ]
            },

            init: {
                FilesAdded: function (up, files) {
                    plupload.each(files, function (file) {
                        uploader.start();  //自动上传
                    });
                },
                FileUploaded: function (uploader, file, responseObject) {
                    var pic = decodeURIComponent(responseObject.response.substr(responseObject.response.lastIndexOf("%")));
                    var url = "..\\..\\Content\\img\\samplePic" + pic;
                    $("#pic_view").attr("src", url);
                    $("#F_pictureSysURL").val($("#pic_view").attr("src"));
                    $("#F_pictureSysURL").text($("#pic_view").attr("src"));
                }
            }
        });

        uploader.init();

    });

</script>
              <div style="text-align: center;">
                            <img id="pic_view" alt="图片预览" style="width: 220px;height: 120px;" />
                            <div id="uploadfileQueue" style="padding: 3px; width: 220px; display:none;">
                            </div>
                            <div id="file_uploadDiv" style="margin: 8px auto !important; width: 75px;">
                                <div id="file_upload" style="background: #f1bd23;padding: 5px;">
                                    上传
                                </div>
                            </div>
                        </div>

3、レンダリングの実現

画像選択前

 

画像を選択してプレビュー

4つ以上

これは小さな詳細です。つまり、ユーザーが閉じるボタンをクリックすると、データの冗長性が回避され、サーバー上の画像を削除する必要があります。

別の言い方をすれば、現在のH5はすでにローカルリソースにアクセスできるため、ユーザーがファイルを選択すると、サーバーにアップロードすることなく、プレビューを直接実現できます。

ローカルプレビューの実装バージョンが必要な場合は、

uploadifyの実装バージョンが必要な場合は、

webuploaderの実装バージョンが必要な場合は、

.NETバージョンのバックグラウンドコードが必要な場合は、

JAVAバージョンのバックグラウンドコードが必要な場合...

私たちの拠点に参加できます。拠点の住所は450342630(QQグループ番号)です。

 

おすすめ

転載: blog.csdn.net/qq_27532167/article/details/86612954