Introduction to SmartUpload and Commons-FileUpload and Compare

xiaoxiao2021-03-06  24

Uploading web files may be one of the most common functions in website construction, and I have almost needed to implement file upload function in project development. I got some upload components for some time. This article will be described in this article, and the respective advantages and disadvantages are compared.

First, Smartupload components.

I want to be a friend who is uploaded by the file knows this component, I know the most in the people I know! When I first arrived, the company also used Smartupload, which is a good choice when uploading relatively small files. Here is an example of using:

<% @ page contenttype = "text / html; charset = GB2312"%> <% @ page import = "java.sql. *"%> <% @ Page Import = "com.jspsmart.upload. *"%>

<% // Installing Bean Smartupload Mysmartupload = New SmartUPload (); // Initialization MySmartupload.initialize (PageContext); // Set the maximum value upload, pay attention: If you set up a meeting here! MySmartupload.setMaxFileSize (500 * 1024 * 1024); // Upload file mysmartupload.upload (); // loop acquire all uploaded file for (int i = 0; i

But using SmartupLoad to upload excessive files, or multi-files may have problems with high CPU or memory. And: Only restarting the container to return to normal! This is what I finally gave up using Smartupload. Second, Commons-FileUpload components

This component is the component I am using, downloading address: http://jakarta.apache.org/site/downloads/downloads_commons-fileUpload.cgi, package contains API documentation.

Examples of this component:

<% @ page language = "java" contenttype = "text / html; charSet = GBK"%> <% @ page import = "java.util. *"%> <% @ page import = "org.apache.commons. FileUpload. * "%> file upload </ title> </ head> <% diskfileupload fu = new diskfileupload (); // Setting Allow User Upload File Size, Units: Byte Fu. SetsizeMax (10000000); // Sets up to only data stored in memory, unit: byte fu.setSizeTHRESHOLD (4096); // Setting Once the file size exceeds the value of GetSizThreshold (), the data is stored in the Directory FU of the hard disk. SetRepositoryPath ("D: // Tomcat5 // Temp"); // Start Read Upload Information List fileItems = Fu.Parsequest (Request); // Process each uploaded file itrator it = fileitems.ITerator (); while (oret () {fileItem item = (fileItem item = (fileItem) iter.next (); // ignore other form information if other than the file domain (! item.isformfield ()) {string name = item.getname (); Item.write ("D: // UploadTest //" Name);}}%></p> <p>As can be seen from the above program, the component can be used to store temporary files at the time of time, and write the file directly after the completion is completed. This will not take over more memory! And the time is not low when the component is transferred!</p> <p>In these two comparison options, I chose the latter, because I often upload more than 10m files in the project, when using the former, the server is almost collapsed.</p> <p>However, I have no need to use these two components, because the HTTP method is always very low, and we now use the web way to implement the FTP file upload. I will write me in the next article how to implement it. of.</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-44296.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="44296" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.047</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = 'LPfdVu0FsY6wUdi98MHhFKSI57EN4_2FYNAqw5eA8aQG_2FzNx57U1PrBeom0c5DmUSLNIxbEW4Rddv8OQy6qS7d2w_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>