FileDownLoad

使用 jQuery.fileDownload.js 插件实现Ajax下载文件 近期的项目里有一个需求,列表查询模块有个导出按钮,功能很简单,用的是form表单把查询参数提交到后台,提交之后前台给导出按钮添加disable,防止用户重复导出,避免导出的数据量很大的时候给服务器带来不必要的负担.后台根据前台传的查询参数执行条件查询,将查询到的结果集生成Excel用response写到前台直接下载. 做完之后测试大佬提了个BUG,由于Ajax请求无法直接下载文件,所以用的是for... 阅读详情

public class FileDownLoad
    {
        /// <summary>
        /// 通用下载函数
        /// </summary>
        /// <param name="fileName">文件名</param>
        /// <param name="filePath">文件路径</param>
        public static bool DownLoadFile(string fileName, string filePath)
        {
            if (File.Exists(filePath))
            {
                FileInfo file = new FileInfo(filePath);
                HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8"); //解决中文乱码
                string fileExtension = System.IO.Path.GetExtension(System.IO.Path.GetFileName(filePath));//文件扩展名

                if (HttpContext.Current.Request.UserAgent.ToLower().IndexOf("msie") > -1)
                {
                    //当客户端使用IE时,对其进行编码;

                    //使用 ToHexString 代替传统的 UrlEncode();

                    fileName = ToHexString(fileName);
                }
                if (HttpContext.Current.Request.UserAgent.ToLower().IndexOf("firefox") > -1)
                {
                    //为了向客户端输出空格,需要在当客户端使用 Firefox 时特殊处理  
                    HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=\"" + fileName + "\"");
                }
                else
                    HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
                HttpContext.Current.Response.AddHeader("Content-length", file.Length.ToString());
                HttpContext.Current.Response.ContentType = "appliction/octet-stream";
                HttpContext.Current.Response.WriteFile(file.FullName);
                HttpContext.Current.Response.End();
                return true;
            }
            else
            {
                HttpContext.Current.Response.Write("<script language=javascript>alert('下载失败,此文件已被删除!');</script>");
                return false;
            }
        }


        #region 编码
        /// <summary>  
        /// 对字符串中的非 ASCII 字符进行编码  
        /// </summary>  
        /// <param name="s"></param>  
        /// <returns></returns>  
        public static string ToHexString(string s)
        {
            char[] chars = s.ToCharArray();
            StringBuilder builder = new StringBuilder();
            for (int index = 0; index < chars.Length; index++)
            {
                bool needToEncode = NeedToEncode(chars[index]);
                if (needToEncode)
                {
                    string encodedString = ToHexString(chars[index]);
                    builder.Append(encodedString);
                }
                else
                {
                    builder.Append(chars[index]);
                }
            }
            return builder.ToString();
        }
        /// <summary>  
        /// 判断字符是否需要使用特殊的 ToHexString 的编码方式  
        /// </summary>  
        /// <param name="chr"></param>  
        /// <returns></returns>  
        private static bool NeedToEncode(char chr)
        {
            string reservedChars = "$-_.+!*'(),@=&";
            if (chr > 127)
                return true;
            if (char.IsLetterOrDigit(chr) || reservedChars.IndexOf(chr) >= 0)
                return false;
            return true;
        }
        /// <summary>  
        /// 为非 ASCII 字符编码  
        /// </summary>  
        /// <param name="chr"></param>  
        /// <returns></returns>  
        private static string ToHexString(char chr)
        {
            UTF8Encoding utf8 = new UTF8Encoding();
            byte[] encodedBytes = utf8.GetBytes(chr.ToString());
            StringBuilder builder = new StringBuilder();
            for (int index = 0; index < encodedBytes.Length; index++)
            {
                builder.AppendFormat("%{0}", Convert.ToString(encodedBytes[index], 16));
            }
            return builder.ToString();
        }
        #endregion
    }

FileDownload https 自签名证书问题 报错:CertPathValidatorException 一:前言    项目安全升级,使用https协议,老板不出钱,只能使用自签名证书的方式,发现Filedownload 无法下载文件,报错:javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. ... 阅读详情

相关推荐

GD-Link离线烧录全攻略:从配置到一键下载的保姆级教程

本文详细介绍了GD-Link离线烧录的全流程,从硬件准备到软件配置,再到一键下载的实战技巧。通过保姆级教程,帮助工程师快速掌握国产MCU的离线烧录技术,适用于产线批量烧录和现场设备维护等场景,显著提升工作效率。

ww90123的博客 649

文件下载(导出)功能,fileDownload。

1,直接通过a标签的href属性完成下载功能 2,通过window.open()实现下载 前两种方法需要和后端约定好,将token以参数的形式传递过去,无法放在header里面。3,下面这种方法可以通过axios请求文件信息,通过fileDownload实现下载npm安装依赖 在页面中导入 获取文件,导出(该方法需要设置responseType: "arraybuffer")......

NIKCFNIF_66666的博客 2715

不用API Key也能玩转Obsidian AI:本地大模型离线配置全攻略

本文详细介绍了如何在无需API Key的情况下,通过本地部署大型语言模型(LLM)为Obsidian注入AI能力。文章以Ollama为例,提供了从环境准备、模型选择到与Obsidian插件(如Text Generator)集成的完整配置攻略,旨在帮助用户打造一个安全、离线可用的智能笔记工作流,实现数据隐私与AI助力的完美结合。

weixin_29062963的博客 816

Struts2学习笔记(十七) 文件下载(File Download)

前面我们刚刚学完文件上传,那么我们就接着来看和文件上传相对应的文件下载吧。对于文件上传而言,文件下载实现起来要简单的多。通常我们可以直接将一个超链接的地址指向我们想要给用户下载的资源即可。但是如果这些资源是浏览器能够解析的文件类型,比如html文件等,那么浏览器将不会提示用户下载这些文件了,而是会直接在浏览器中打开。这样做还有一个问题,那就是我们的资源文件的地址就直接暴露给用户了,它可以在其他的页...

maozhuxigood 215

Autoware1.14-摄像头目标检测YOLO-V3

在Autoware1.14中部署YOLOV3

weixin_43687753的博客 3138

uniapp开发AndroidAPP集成支付宝支付及问题处理(商家订单参数异常等),集成微信小程序支付及问题处理(运行真机调试白屏)

2、选择支付宝支付,调用支付接口唤起支付宝支付。

qq_16785561的博客 3486

jQuery 使用fileDownload组件实现文件下载

1 需要引入的JS jquery.fileDownload.min.js 2 实现代码 //文件下载 function FileDownload(){ $.fileDownload(location.href, { httpMethod: 'POST', data: {}, prepareCallback: function (url) { alert("开始准备调用后台接口"); },

旭东怪的博客 4466

别再只盯着照片了!手把手教你用Python提取大疆照片里的GPS、姿态和RTK数据

本文详细介绍了如何使用Python提取大疆照片中的GPS、姿态和RTK数据,帮助用户解锁无人机拍摄照片中的隐藏元数据。通过实战代码示例,展示了如何解析EXIF格式的定位、姿态和RTK状态信息,并实现批量处理与数据分析,适用于测绘、农业巡检等专业领域。

weixin_30790841的博客 150

filedownload

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app> <!...

weixin_30568591的博客 273

双臂复合机器人眼在手外标定实战:从原理到D435标定流程详解

本文详细解析了双臂复合机器人中眼在手外标定的核心原理与实战流程。通过阐述坐标系转换与AX=XB方程,重点介绍了使用Intel RealSense D435相机进行标定的完整步骤,包括环境搭建、数据采集、计算与验证,并提供了关键的避坑指南,帮助工程师实现相机与机械臂基座间的精确坐标对齐。

weixin_29100927的博客 445

基于 Simulink 的单相 PWM 整流器(四象限变流器)在高铁辅助电源系统中的建模与仿真实战教程

这是一份基于 Simulink 的实战教程。在高铁牵引供电与辅助电源系统中,单相 PWM 整流器(又称四象限变流器,4QC)是极其核心的“绿色电源”枢纽。传统的二极管整流器虽然结构简单,但会导致严重的输入电流畸变和低功率因数,对电网造成极大的谐波污染。而 PWM 整流器通过高频主动控制,不仅能将单相交流电转换为平稳的直流电,还能实现输入电流正弦化、单位功率因数(PF=1)运行,并支持能量双向流动(如列车再生制动时的能量回馈)。本教程将带你从数学模型出发,搭建一套高性能的电压电流双闭环控制系统。

amy_mhd的博客 46

ie中下载文件框中的文件名为“download.do”的解决办法

   最近在一个项目的维护中,发现ie中下载文件的时候,下载框中的文件名为“download.do”。文件类型识别不了。保存后改了文件后缀是能够看到内容的。说明下载流数据那边是没有问题的。   但是查看了代码后,发现和其他画面的下载写法是一样的。唯一的区别一个是直接用的servlet,一个是作为action提交的。出问题的是直接用的servlet的那个画面。   刚开始一看两边代码一模一样

步行者的专栏 1万+

5、高级综合技术:从调度到优化的全面解析

本文深入解析了高级综合技术,涵盖从控制/数据流图构建、调度算法、分配绑定策略到编译器优化的全流程。通过案例分析和对比,探讨了不同优化策略对性能和资源利用的影响,并总结了关键要点及未来发展趋势,为高效利用FPGA实现数字设计提供了全面指导。

night的博客 116

jquery.fileDownload.js插件导出excel

因为使用ajax导出excel会出现问题,所以现在使用jQuery.fileDownload.js插件来解决导出excel的问题 在页面引入jquery.fileDownload.js插件 1、如下所示 <script type="text/JavaScript" src="${resource}/js/jquery.fileDownload.js"/></script> ...

小坚果的博客 911

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

文件下载实现插件jquery.fileDownload

现有下载实现弊端分析 通常文件下载有三种方式,a标签下载,form 表单下载,blob转换url下载,但上述三种下载存在弊端,分析如下: a标签download下载 无法catch error form表单下载 对于多文件下载,循环下载表单提交,会导致只有最后一个能提交,其他请求被cacel。因为form 表单提交需要时间处理表单数据 blob转换下载 会先缓存文件(并不是缓存到memory 中...

zsy_1991的博客 2455

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

jquery.fileDownload.js使用

jquery.fileDownload.js 1,简短说明 使用 jquery.fileDownload.js 增加前后端交互友好性 2,实例 filedownload组件HTML部分: <div class="download-container"> <!--初始化时显示--> <nz-dropdown *ngIf="!creatFileIng"> <button nz-button nzType="primary" .

Ben_Simons 3310

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

jquery.fileDownload.js

jquery.fileDownload.js 的使用 1,简短说明 使用 jquery.fileDownload.js 增加前后端交互友好性 2,实例 前端代码 $.fileDownload(url,{ httpMethod: 'GET', data:data, // preparingMessageHtml:'文件正在下载,请稍等...', // 需要jque...

weixin_37998428的博客 1万+

Laravel excel 结合 jquery.fileDownload.js开发

因为最近项目有个需求,点击按钮,页面显示loading…,且同时在开始下载的时候,loading…要消失,就是说,需要在开始下载或者下载完执行一个回调机制,然而比较麻烦的是,通过form提交的,是没有回调功能,所以只能用JS了 网上找过很多方法,最开始用httpRequest,方法是可行的,但是如果数据了稍微多一点,就返回500了,所以只能放弃了 最后使用jquery.fileDownload.js 我本机环境 “maatwebsite/excel”: “^3.1”,“laravel/framework”:

吴家健ken的博客 536

FileDownload-UE4 项目教程

FileDownload-UE4 项目教程 1. 项目的目录结构及介绍 FileDownload-UE4 项目的目录结构如下: FileDownload-UE4/ ├── Config/ │ └── ... ├── Content/ │ └── ... ├── Plugins/ │ └── FileDownloader/ │ └── ... ├── Source/ │ ...

gitblog_00447的博客 411

jQuery.fileDownload.js successCallback方法失效的问题

前端:jQuery 后端:Spring 原来:使用$("form").submit()进行文件的下载,但是该方法不能获取callback函数,不能对下载过程进行监听,所以采用jQuery.fileDownload.js可以在下载完成时获取一个回调函数。 前端: $.fileDownload(url,{                     httpMethod: 'POST',   

licuifeng的专栏 4482

FileDownload-UE4 开源项目教程

FileDownload-UE4 开源项目教程 项目介绍 FileDownload-UE4 是一个基于 HTTP 协议的文件下载插件,专为 Unreal Engine 5 及以上版本设计。该插件旨在为游戏开发者提供高效、可靠的资源管理解决方案,特别适用于大型文件(如高达 2GB 或更多)的分块下载与断点续传。通过智能的任务进度保存和恢复机制,FileDownload-UE4 确保了游戏更新与资源获...

gitblog_00495的博客 913

org.zkoss.zul.Filedownload.java 源码

/* Filedownload.java Purpose: Description: History: Mon Apr 16 09:29:44 2007, Created by tomyeh Copyright (C) 2007 Potix Corporation. A...

weixin_30951231的博客 193

Pikachu靶场Unsafe Filedownload漏洞解析与防护

文件下载功能是Web应用中的基础功能,但其安全性常被忽视。不安全的文件下载漏洞(Unsafe Filedownload)属于OWASP Top 10中的安全配置错误类别,攻击者可通过目录遍历攻击获取系统敏感文件。这类漏洞的原理在于服务端未对用户输入的文件名参数进行充分校验,直接拼接文件路径,导致路径遍历风险。在金融、电商等行业,此类漏洞可能导致严重的数据泄露事件。通过Pikachu靶场可以复现和演练这类漏洞的利用方式,同时学习企业级防护方案如白名单校验、动态令牌等安全措施。

weixin_30619101的博客 443

jQuery.fileDownload.js 文件下 成功响应

前端:jQuery 后端:Spring 原来:使用$("form").submit()进行文件的下载,但是该方法不能获取callback函数,不能对下载过程进行监听,所以采用jQuery.fileDownload.js可以在下载完成时获取一个回调函数。 前端: var url = "/foodSource/pefg/export"; $.fileDownload(ur

小小程序猿 2万+

导出文件fileDownload

导出文件fileDownload 1、首先安装"js-file-download"依赖 npm install js-file-download --save 2、在所需要的用到的地方导入 import fileDownload from 'js-file-download' 3、使用 import Store from '@/api/Store' // 1、导入导出接口文档 // 2、导出方法 exportEvt() { Store.directSystemListExport(

qq_52788454的博客 1114

java历save_Java Filedownload.save方法代碼示例

本文整理匯總了Java中org.zkoss.zul.Filedownload.save方法的典型用法代碼示例。如果您正苦於以下問題:Java Filedownload.save方法的具體用法?Java Filedownload.save怎麽用?Java Filedownload.save使用的例子?那麽恭喜您, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.zk...

weixin_39727863的博客 417
上一篇: FileHelper
下一篇: 当爱画上无休止的省略号,谁该给谁彼此自由,谁又该怪谁没有将彼此挽留
萧萧西风
博客等级 码龄18年 18粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值