zoukankan      html  css  js  c++  java
  • AppCan 文件上传实例

    前台代码:

    <!DOCTYPE html>
    <html class="ui-mobile landscape min-width-240px min-width-320px min-width-480px min-width-768px min-width-1024px">
      <head>
        <title>
        </title>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
        <link rel="stylesheet" href="css/ui-media.css">
        <link rel="stylesheet" href="css/ui-base.css">
        <link rel="stylesheet" href="css/ui-apple.css">
        <script src="js/zy_anim.js">
        </script>
        <script src="js/zy_control.js">
        </script>
         <script src="js/zy_tmpl.js">
        </script>
      </head>
      <body class="ui-mobile-viewport" >
       
    <div id="page" class="ui-page ui-body-d ui-page-active ui-header-fixed" tabindex="0">
    
    <div data-role="header" class="ui-header ui-bar-iphone " >
    <h1 class="ui-title" tabindex="0" role="heading" aria-level="1">Images</h1> 
    <div class="ui-btn  ui-btn-right ui-btn-corner-all ui-shadow  ui-btn-a  " onclick="actionsheet();">  <span class="ui-btn-inner ui-btn-corner-all"> <span class="ui-btn-text">选择</span>  </span></div> 
    
    </div>
    
    <div id="msgid" class="ui-bar ui-bar-e ">
    </div>
    
    <div class="ui-content ui-body-d">
    <img id="imgid" src="img/2.png" style="height:500px;450px;position:absolute;left:0.5em;"/> 
    </div>
    
    <div data-role="footer" class="ui-footer ui-bar-a ui-footer-fixed">
    <div class="ui-bar ui-bar-a ">
    <div class="ui-btn   ui-btn-corner-all ui-shadow  ui-btn-a ui-btn-inline " onclick="viewpic();">  <span class="ui-btn-inner ui-btn-corner-all"> <span class="ui-btn-text">图片查看器</span>  </span> <button class="ui-btn-hidden">按钮</button> </div> 
    <div class="ui-btn   ui-btn-corner-all ui-shadow  ui-btn-a ui-btn-inline " onclick="downloadurl();">  <span class="ui-btn-inner ui-btn-corner-all"> <span class="ui-btn-text">下载网络图片</span>  </span> <button class="ui-btn-hidden">按钮</button> </div> 
    <div class="ui-btn   ui-btn-corner-all ui-shadow  ui-btn-a ui-btn-inline " onclick="uploadpic();">  <span class="ui-btn-inner ui-btn-corner-all"> <span class="ui-btn-text">上传</span>  </span> <button class="ui-btn-hidden">按钮</button> </div> 
    
    </div>
    
    
    </div>
    
    </div>
    <script>
    var imgurl = "wgt://img/2.png";//默认图片url
    
    //显示log
    function setLog(msg){
        document.getElementById("msgid").innerHTML = msg;
    }
    
    //弹出actionSheet
    function actionsheet(){
        uexWindow.actionSheet("选择图片", "取消", ["照相机拍摄","本地文件","网络文件"]);
    }
    //通过图片查看器查看图片
    function viewpic(){
        var ar = new Array();
        ar[0]=imgurl;
        uexImageBrowser.open(ar);
    }
    
    //下载网络图片
    var dopCode=1;
    var inSavePath=null;
    function downloadurl(){
        if(imgurl.indexOf("http://")==0){
            var q = imgurl.match(/.*\.(.*)/);
            inSavePath = (new Date()).getTime()+"."+q[1];
            uexDownloaderMgr.createDownloader(dopCode); 
        }else{
            uexWindow.toast(0,5,"非网络图片",1000);
        }
    }
    //上传图片
    var uploadHttp = "http://192.168.1.23:86/abc.ashx?from=web";
    var uopCode =2;
    function uploadpic(){
        if (imgurl.indexOf("http://") < 0) {
            alert(imgurl);
            alert(uploadHttp);
            uexUploaderMgr.createUploader(uopCode, uploadHttp);
        }
        else {
            uexWindow.toast(0, 5, "非本地图片", 1000);
        }
    }
    
    window.uexOnload = function(){
    
        uexWindow.cbActionSheet = function(opId,dataType,data){
            switch(parseInt(data)){
            case 0:
                uexCamera.open();
                break;
            case 1:
                uexFileMgr.explorer("");
                break;
            case 2:
                uexWindow.prompt("提示", "输入网络图片URL", "",["确定","取消"]);
                break;
            }
        }
        uexWindow.cbPrompt=function(opId,dataType,data){
            if(dataType==1){
                var d = eval("("+data+")");
                if(d.num=="0"){
                    if(d.value.indexOf('http://')>-1){
                        imgurl=d.value;
                        document.getElementById("imgid").src=imgurl;
                    }
                    else
                        alert("网络URL错误");
                }
                
            }
        }
        uexCamera.cbOpen = function(opId,dataType,data){
            if(dataType==0)
            {
                imgurl = data;
                document.getElementById("imgid").src=imgurl;
            }
        }
        uexFileMgr.cbExplorer = function(opId,dataType,data){
            uexLog.sendLog(dataType); 
            if(dataType==0){
                uexLog.sendLog(data);
                imgurl = data;
                document.getElementById("imgid").src=imgurl;
                uexLog.sendLog(document.getElementById("imgid").src);
            }
        }
        //****************下载回调***************
        uexDownloaderMgr.cbCreateDownloader=function(opId,dataType,data){
            uexDownloaderMgr.download(dopCode,imgurl,inSavePath,0);
            setLog("开始下载图片");
        }
        uexDownloaderMgr.onStatus = function(opId,fileSize,percent,status){
            if(status == 0)
                setLog("下载进度:"+percent+"%");
            if(status == 1){
                setLog("下载完成");
                imgurl = inSavePath;
                uexDownloaderMgr.closeDownloader(dopCode);
            }
            if(status == 2){
                setLog("下载出错");
                uexDownloaderMgr.closeDownloader(dopCode); 
                uexFileMgr.deleteFileByPath(inSavePath);
            }
        }
        //******************************************
        //****************上传回调***************
        uexUploaderMgr.cbCreateUploader = function(opId,dataType,data){
            uexUploaderMgr.uploadFile(uopCode,imgurl,"filename",1);
            setLog("开始上传图片");
        }
        uexUploaderMgr.onStatus = function(opId,fileSize,percent,serverPath,status){
            if(status==0)
                setLog("上传进度:"+percent+"%");
            if(status == 1){
                setLog("上传完成");
                uexUploaderMgr.closeUploader(uopCode);
            }
            if(status == 2){
                setLog("上传出错");
            }
        }
        //******************************************
    }
    </script>
      </body>
    </html>

    后台代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.IO;
    
    namespace SqsBusiness
    {
        /// <summary>
        /// abc1 的摘要说明
        /// </summary>
        public class abc1 : IHttpHandler
        {
    
            public void ProcessRequest(HttpContext context)
            {
                context.Response.ContentType = "text/plain";
                context.Response.Write("Hello World");
    
                try
                {
                    string from = context.Request.QueryString["from"];
                    string path = context.Server.MapPath("~/") + "upload";
                    if (from == "web")
                    {
                        context.Response.Write("<script>alert('1')</script>");
                        if (context.Request.Files.Count > 0)
                        {
                            context.Response.Write("<script>alert('2')</script>");
    
                            if (!Directory.Exists(path))
                            {
                                Directory.CreateDirectory(path);
                            }
    
    
                            string fileName = Path.GetFileName(context.Request.Files["filename"].FileName);
                            string end = fileName.Substring(fileName.Length - 4).ToLower();
    
    
                            if (end.Equals(".jpg") || end.Equals(".png") || end.Equals(".gif") || end.Equals(".mp4"))
                            {
                                context.Request.Files["filename"].SaveAs(path + "\\" + fileName);
                            }
                        }
                    }
                    if (from == "client")
                    {
                        if (context.Request.Files.Count > 0)
                        {
                            if (!Directory.Exists(path))
                                Directory.CreateDirectory(path);
                            string fileName = Path.GetFileName(context.Request.Files["file"].FileName);
                            string end = fileName.Substring(fileName.Length - 4).ToLower();
                            if (end.Equals(".jpg") || end.Equals(".png") || end.Equals(".gif") || end.Equals(".mp4"))
                            {
                                context.Request.Files["file"].SaveAs(path + "\\" + fileName);
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    context.Response.Write("<script>alert('" + ex.Message + "')</script>");
                }
    
            }
    
            public bool IsReusable
            {
                get
                {
                    return false;
                }
            }
        }
    }
  • 相关阅读:
    按钮一色三变化
    最小的k个数-Python版
    字符串的全排列-终于弄明白了
    键值offer-求逆序对
    Python小技巧
    面试题48-动态规划-最长不含重复字符的子字符串,剪绳子
    面试题47-礼物的最大价值(Python版)
    多元高斯分布
    torch_13_ProGan笔记
    pytorch-模型保存与加载自己训练的模型详解 
  • 原文地址:https://www.cnblogs.com/szytwo/p/2707375.html
Copyright © 2011-2022 走看看