2015年8月5日 星期三

利用拖拉或複製貼上方式取得檔案內容

以下為拖拉一個圖檔的範例,會顯示圖片內容,也可回傳到server
document.getElementById('divupload').addEventListener('drop', onDrop, true)
function onDrop(event) {
        event.stopPropagation();
        event.preventDefault();
        var file = event.dataTransfer.files[0];
        var reader = new FileReader();
        reader.onload = (function (aImg) {
            return function (e) {
                $("#imagedata").attr("src", e.target.result);
                $("#HiddenFieldimagedata").val(e.target.result);
            };
        })($("#imagedata"));
        reader.readAsDataURL(file);
    }

以下為透過複製貼上取得圖檔內容
 $("html").pasteImageReader(function (results) {
            $("#imagedata").attr("src", results.dataURL);
            $("#HiddenFieldimagedata").val(results.dataURL);
        });

divupload is div
$("#imagedata") is img
$("#HiddenFieldimagedata") is asp:HiddenField

input 連結 datalist 用程式控制彈出選項

範例: nextTick(() => document.querySelector('input').showPicker());  ※僅支援現代瀏覽器