Server IP : 103.118.17.23 / Your IP : 216.73.216.169 Web Server : Microsoft-IIS/10.0 System : Windows NT RESELLERPLESK22 10.0 build 20348 (Windows Server 2016) AMD64 User : IWAM_plesk(default) ( 0) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : E:/Inetpub/vhosts/mesa.org.in/httpdocs/panel/ |
Upload File : |
<%@ CodePage="65001" %> <% Response.Buffer = EW_RESPONSE_BUFFER %> <!--#include file="ewcfg.asp"--> <!--#include file="aspfn.asp"--> <!--#include file="userfn.asp"--> <% Dim upload Set upload = New cFileUpload Call upload.Page_Main ' ' Page class for file upload ' Class cFileUpload ' Page ID Dim PageID ' Project ID Dim ProjectID ' Page object name Dim PageObjName ' Table Dim UploadTable ' Page name Public Function PageName() PageName = ew_CurrentPage() End Function ' Page URL Public Function PageUrl() PageName = ew_CurrentPage() & "?" End Function ' Initialize Private Sub Class_Initialize() PageID = "upload" ProjectID = "panel" PageObjName = "upload" End Sub ' Main ' Uncomment '** for database connectivity / Page_Loading / Page_Unloaded server event Sub Page_Main() Set Language = New cLanguage '**Set Conn = ew_GetConn(0) ' Global Page Loading event (in userfn*.asp) '**Call Page_Loading ' Handle download file content If Request.QueryString("download").Count > 0 Then Call DownloadFileContent ' Handle delete file ElseIf Request.QueryString("delete").Count > 0 Then Call DeleteFile ' Handle download file list ElseIf Request.QueryString("id").Count > 0 Then Call DownloadFileList ' Handle upload file (multi-part) ElseIf Request.TotalBytes > 0 Then Call UploadFile End If ' Global Page Unloaded event (in userfn*.asp) '**Call Page_Unloaded ' Close connection '**Call ew_CloseConn End Sub ' No cache Sub ResponseNoCache() Response.AddHeader "Pragma", "no-cache" Response.AddHeader "Cache-Control", "no-cache, no-store, must-revalidate" Response.AddHeader "X-Content-Type-Options", "nosniff" End Sub ' Download file content Sub DownloadFileContent() Dim name, filename, value, version, folder, ar name = Request.QueryString("id") UploadTable = Request.QueryString("table") filename = Request.QueryString(name) folder = ew_UploadTempPath(name, UploadTable) version = Request.QueryString("version") If version <> "" Then folder = ew_PathCombine(folder, version, True) End If ' Show file content (EW_IMAGE_ALLOWED_FILE_EXT and EW_DOWNLOAD_ALLOWED_FILE_EXT only) ar = ew_ArrayMerge(Split(EW_IMAGE_ALLOWED_FILE_EXT, ","), Split(EW_DOWNLOAD_ALLOWED_FILE_EXT, ",")) If ew_RegExTest("\.(" & Join(ar, "|") & ")$", filename) Then If ew_FileExists(folder, filename) Then value = ew_LoadBinaryFile(ew_IncludeTrailingDelimiter(folder, True) & filename) Call ResponseNoCache Response.ContentType = ew_ContentType(LeftB(value,11), filename) Response.AddHeader "Content-Disposition", "attachment; filename=" & filename Response.BinaryWrite value Response.End End If End If End Sub ' Delete file Sub DeleteFile() Dim name, filename, filesize, filetype, version, folder If Request.QueryString("id") <> "" Then name = Request.QueryString("id") UploadTable = Request.QueryString("table") filename = Request.QueryString(name) folder = ew_UploadTempPath(name, UploadTable) Call ew_DeleteFile(ew_IncludeTrailingDelimiter(folder, True) & filename) version = EW_UPLOAD_THUMBNAIL_FOLDER folder = ew_PathCombine(folder, version, True) Call ew_DeleteFile(ew_IncludeTrailingDelimiter(folder, True) & filename) Call ResponseJson Response.Write "{""success"":true}" End If End Sub ' Download file list Sub DownloadFileList() Dim name, filename, filesize, filetype, value, folder, files name = Request.QueryString("id") UploadTable = Request.QueryString("table") If name <> "" Then folder = ew_UploadTempPath(name, UploadTable) Dim fso, oFolder, oFiles, oFile, sFile Set fso = Server.CreateObject("Scripting.FileSystemObject") If fso.FolderExists(folder) Then Set oFolder = fso.GetFolder(folder) Set oFiles = oFolder.Files For Each oFile In oFiles filename = oFile.Name sFile = ew_IncludeTrailingDelimiter(folder, True) & filename If fso.FileExists(sFile) Then value = ew_LoadBinaryFile(sFile) filesize = LenB(value) filetype = ew_ContentType(LeftB(value,11), filename) If IsArray(files) Then ReDim Preserve files(UBound(files)+1) Else ReDim files(0) End If files(UBound(files)) = Array(name, filename, filetype, filesize) End If Next End If Set fso = Nothing Call OutputJSON(name, files) End If End Sub ' Upload file Sub UploadFile() Dim name, filename, filesize, filetype, value, version, folder, files Dim exts, filetypes, maxsize, maxfilecount, filecount, fileerror Dim arExt, arAllowedExt, i, j On Error Resume Next ' Handle upload file If Request.TotalBytes > 0 Then ' Load language Set Language = New cLanguage Call Language.LoadPhrases Set ObjForm = ew_GetUploadObj() If Err.Number <> 0 Then If Err.Number = -2147467259 And ew_ContainsText("0104") Then ' Request object error 'ASP 0104 : 80004005' - Operation not Allowed fileerror = Language.Phrase("UploadErrMsgIISLimit") Else fileerror = Replace(Language.Phrase("UploadErrMsgServer"), "%e", Err.Description) End If files = Array(Array("", "", "", "", fileerror)) Call OutputJSON("files", files) Exit Sub End If name = ObjForm.GetValue("id")&"" UploadTable = ObjForm.GetValue("table")&"" exts = ObjForm.GetValue("exts")&"" arExt = Split(exts, ",") If EW_UPLOAD_ALLOWED_FILE_EXT <> "" Then arAllowedExt = Split(EW_UPLOAD_ALLOWED_FILE_EXT, ",") exts = Join(ew_ArrayIntersect(arAllowedExt, arExt), ",") ' Get allowed extensions only If exts = "" Then exts = EW_UPLOAD_ALLOWED_FILE_EXT ElseIf exts = "" Then exts = "[\s\S]*" ' Allow all file types End If filetypes = "\.(" & Replace(exts, ",", "|") & ")$" maxsize = ObjForm.GetValue("maxsize")&"" maxfilecount = ObjForm.GetValue("maxfilecount")&"" folder = ew_UploadTempPath(name, UploadTable) filename = ObjForm.GetUploadFileName(name) filetype = ObjForm.GetUploadFileContentType(name) filesize = ObjForm.GetUploadFileSize(name) value = ObjForm.GetUploadFileData(name) ' Skip if no file uploaded If filename&"" = "" Then Response.End End If ' Check file types If Not ew_RegExTest(filetypes, filename) Then fileerror = Language.Phrase("UploadErrMsgAcceptFileTypes") files = Array(Array(name, filename, filetype, filesize, fileerror)) Call OutputJSON("files", files) Exit Sub End If ' Check file size If IsNumeric(maxsize) Then If CLng(maxsize) < CLng(filesize) Then fileerror = Language.Phrase("UploadErrMsgMaxFileSize") files = Array(Array(name, filename, filetype, filesize, fileerror)) Call OutputJSON("files", files) Exit Sub End If End If ' Check max file count If IsNumeric(maxfilecount) Then filecount = ew_FolderFileCount(folder) If CLng(maxfilecount) > 0 And CLng(maxfilecount) <= CLng(filecount) Then fileerror = Language.Phrase("UploadErrMsgMaxNumberOfFiles") files = Array(Array(name, filename, filetype, filesize, fileerror)) Call OutputJSON("files", files) Exit Sub End If End If ' Delete all files in directory if replace If ObjForm.GetValue("replace")&"" = "1" Then Call ew_CleanPath(folder, False) End If If LenB(value) mod 2 = 1 And VarType(value) <> 8209 Then value = value & ChrB(0) ' Handle odd bytes Call ew_SaveFile(folder, filename, value) version = EW_UPLOAD_THUMBNAIL_FOLDER folder = ew_PathCombine(folder, version, True) Call ew_ResizeBinary(value, EW_UPLOAD_THUMBNAIL_WIDTH, EW_UPLOAD_THUMBNAIL_HEIGHT, EW_THUMBNAIL_DEFAULT_INTERPOLATION) If LenB(value) mod 2 = 1 And VarType(value) <> 8209 Then value = value & ChrB(0) ' Handle odd bytes Call ew_SaveFile(folder, filename, value) files = Array(Array(name, filename, filetype, filesize)) Call OutputJSON("files", files) End If End Sub ' Output JSON Sub OutputJSON(id, files) Dim ar, cnt, name, file, filename, filetype, filesize, fileerror, version Dim baseurl, url, thumbnail_url, delete_url Set ar = Dictionary() If IsArray(files) Then For i = 0 to UBound(files) If IsArray(files(i)) Then If UBound(files(i)) >= 3 Then name = files(i)(0) filename = files(i)(1) filetype = files(i)(2) filesize = files(i)(3) If UBound(files(i)) >= 4 Then fileerror = files(i)(4) Else fileerror = "" End If version = EW_UPLOAD_THUMBNAIL_FOLDER If EW_DOWNLOAD_VIA_SCRIPT Or EW_UPLOAD_TEMP_PATH = "" Or EW_UPLOAD_TEMP_HREF_PATH = "" Then baseurl = ew_FullUrl(ew_CurrentPage, "upload") table = ew_IIf(UploadTable <> "", "&table=" & UploadTable, "") url = baseurl & "?id=" & name & table & "&" & name & "=" & ew_UrlEncode(filename) & "&download=1&rnd=" & ew_Random() thumbnail_url = baseurl & "?id=" & name & table & "&" & name & "=" & ew_UrlEncode(filename) & "&version=" & version & "&download=1&rnd=" & ew_Random() delete_url = baseurl & "?id=" & name & table & "&" & name & "=" & ew_UrlEncode(filename) & "&delete=1&rnd=" & ew_Random() Else baseurl = ew_UploadTempPath(False, "") & EW_UPLOAD_TEMP_FOLDER_PREFIX & Session.SessionID & "/" table = ew_IIf(UploadTable <> "", UploadTable & "/", "") url = baseurl & table & name & "/" & ew_UrlEncode(filename) thumbnail_url = baseurl & table & name & "/" & version & "/" & ew_UrlEncode(filename) End If Set file = Dictionary() Call file.Add("name", filename) Call file.Add("size", filesize) Call file.Add("type", filetype) Call file.Add("url", url) If fileerror <> "" Then Call file.Add("error", fileerror) Else Call file.Add(version & "Url", thumbnail_url) End If Call file.Add("deleteUrl", delete_url) 'Call file.Add("deleteType", "DELETE") Call file.Add("deleteType", "GET") ' Use GET Call ar.Add(i, file.ToJson()) End If End If Next End If ' Set file header / content type Call ResponseNoCache Response.AddHeader "Content-Disposition", "inline; filename=files.json" ' Output JSON Call ResponseJson Response.Write "{""" & id & """:[" & ar.Join(",") & "]}" Set file = Nothing Set ar = Nothing End Sub End Class %>