Skip download if files already exist in wget?
Try the following parameter: -nc, –no-clobber: skip downloads that would download to existing files. Sample usage: wget -nc http://example.com/pic.png
Try the following parameter: -nc, –no-clobber: skip downloads that would download to existing files. Sample usage: wget -nc http://example.com/pic.png
public ActionResult Download() { var document = … var cd = new System.Net.Mime.ContentDisposition { // for example foo.bak FileName = document.FileName, // always prompt the user for downloading, set to true if you want // the browser to try to show the file inline Inline = false, }; Response.AppendHeader(“Content-Disposition”, cd.ToString()); return File(document.Data, document.ContentType); } NOTE: … Read more
Simple solution for HTML5 ready browsers… function download(filename, text) { var pom = document.createElement(‘a’); pom.setAttribute(‘href’, ‘data:text/plain;charset=utf-8,’ + encodeURIComponent(text)); pom.setAttribute(‘download’, filename); if (document.createEvent) { var event = document.createEvent(‘MouseEvents’); event.initEvent(‘click’, true, true); pom.dispatchEvent(event); } else { pom.click(); } } Usage download(‘test.txt’, ‘Hello world!’);
Since PHP 5.1.0, file_put_contents() supports writing piece-by-piece by passing a stream-handle as the $data parameter: file_put_contents(“Tmpfile.zip”, fopen(“http://someurl/file.zip”, ‘r’)); From the manual: If data [that is the second argument] is a stream resource, the remaining buffer of that stream will be copied to the specified file. This is similar with using stream_copy_to_stream(). (Thanks Hakre.)
Update Express has a helper for this to make life easier. app.get(‘/download’, function(req, res){ const file = `${__dirname}/upload-folder/dramaticpenguin.MOV`; res.download(file); // Set disposition and send it. }); Old Answer As far as your browser is concerned, the file’s name is just ‘download’, so you need to give it more info by using another HTTP header. res.setHeader(‘Content-disposition’, … Read more
@RequestMapping(value = “/files/{file_name}”, method = RequestMethod.GET) public void getFile( @PathVariable(“file_name”) String fileName, HttpServletResponse response) { try { // get your file as InputStream InputStream is = …; // copy it to response’s OutputStream org.apache.commons.io.IOUtils.copy(is, response.getOutputStream()); response.flushBuffer(); } catch (IOException ex) { log.info(“Error writing file to output stream. Filename was ‘{}'”, fileName, ex); throw new RuntimeException(“IOError … Read more
Use an invisible <iframe>: <iframe id=”my_iframe” style=”display:none;”></iframe> <script> function Download(url) { document.getElementById(‘my_iframe’).src = url; }; </script> To force the browser to download a file it would otherwise be capable of rendering (such as HTML or text files), you need the server to set the file’s MIME Type to a nonsensical value, such as application/x-please-download-me or … Read more
Give Java NIO a try: URL website = new URL(“http://www.website.com/information.asp”); ReadableByteChannel rbc = Channels.newChannel(website.openStream()); FileOutputStream fos = new FileOutputStream(“information.html”); fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); Using transferFrom() is potentially much more efficient than a simple loop that reads from the source channel and writes to this channel. Many operating systems can transfer bytes directly from the source channel … Read more
2019 modern browsers update This is the approach I’d now recommend with a few caveats: A relatively modern browser is required If the file is expected to be very large you should likely do something similar to the original approach (iframe and cookie) because some of the below operations could likely consume system memory at … Read more
No. The content-type should be whatever it is known to be, if you know it. application/octet-stream is defined as “arbitrary binary data” in RFC 2046, and there’s a definite overlap here of it being appropriate for entities whose sole intended purpose is to be saved to disk, and from that point on be outside of … Read more