วันอาทิตย์ที่ 23 สิงหาคม พ.ศ. 2558

ลากไฟล์เพื่ออัพโหลด โดยใช้ Dropzone js + Asp.net























<!--  File Name : drop.html -->
<meta charset="utf-8">

<title>Dropzone simple example</title>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="https://rawgit.com/enyo/dropzone/master/dist/dropzone.js"></script>
<link rel="stylesheet" href="https://rawgit.com/enyo/dropzone/master/dist/dropzone.css">


<div id="dZUpload" class="dropzone">
         <div class="dz-default dz-message">Upload File</div>
</div>


<hr />

 <script type="text/javascript">

     $(document).ready(function () {

         Dropzone.autoDiscover = false;

         //Simple Dropzonejs
         $("#dZUpload").dropzone({
             url: "/file-upload/hn_SimpeFileUploader.ashx",
             addRemoveLinks: true,
             success: function (file, response) {
                 var imgName = response;
                 file.previewElement.classList.add("dz-success");
                 console.log("Successfully uploaded :" + imgName);
             },
             error: function (file, response) {
                 file.previewElement.classList.add("dz-error");
             },maxFiles:1,
         init: function() {
             this.on("maxfilesexceeded", function(file) {
                 this.removeAllFiles();
                 this.addFile(file);
             });
         }
         });
     });

</script>

************************* hn_SimpeFileUploader.ashx ******************************
Imports System.Web
Imports System.Web.Services

Public Class hn_SimpeFileUploader
    Implements System.Web.IHttpHandler



    Public Sub ProcessRequest(context As HttpContext) Implements IHttpHandler.ProcessRequest
        context.Response.ContentType = "text/plain"

        Dim dirFullPath As String = HttpContext.Current.Server.MapPath("~/file-upload/upload-target/")
        Dim files As String()
        Dim numFiles As Integer
        files = System.IO.Directory.GetFiles(dirFullPath)
        numFiles = files.Length
        numFiles = numFiles + 1

        Dim str_image As String = ""
        Dim i As Integer
        For Each s As String In context.Request.Files
            i += 1
            Dim file As HttpPostedFile = context.Request.Files(s)
            '  int fileSizeInBytes = file.ContentLength;
            Dim fileName As String = file.FileName
            Dim fileExtension As String = file.ContentType

            If Not String.IsNullOrEmpty(fileName) Then
                'fileExtension = IO.Path.GetExtension(fileName)
                'str_image = "MyPHOTO_" & i & fileExtension
                Dim pathToSave_100 As String = HttpContext.Current.Server.MapPath("~/file-upload/upload-target/") & fileName 'str_image
                file.SaveAs(pathToSave_100)
            End If
        Next
        context.Response.Write(str_image)
    End Sub

    ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
        Get
            Return False
        End Get
    End Property

End Class

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

การใช้ WebClient สำหรับเรียก URL

Dim _url As String = " https :// www . MyDomain . com /?q=ทดสอบ " Dim wc As New System . Net . WebClient () wc . Encodin...