Rumah php教程 PHP开发 SpringMVC实现图片上传

SpringMVC实现图片上传

Nov 23, 2016 pm 03:05 PM
springmvc

我们实现文件上传 用字节流的话代码量大 效率低下 所以springMVC为我们提供了自己的方法。

SpringMVC专门提供了CommonMultipartResolver组件实现文件上传:

maxUploadSize     文件最大限制,单位是byte

maxInMemorySize    低于这个大小的文件暂存在内存中

defaultEncoding    默认编码

例如这样配置:

  

  

  

上面的的配置,id必须是multipartResolver,这样才会保证上传。不能随意命名

154420_BzEY_1450051.png

这就是必须保证bean的id相同,才能正常工作。

 

这时候我们就开始配置form表单,必须添加enctype=“multipart/form-data”:

154420_BzEY_1450051.png

然后记得引入两个jar包:

commons-fileupload.jar

commens-io-1.4.jar

 

然后我们开始编写java代码:

1.首先将request变成MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest)request;

2.接下来就能用getFile来获取file:

CommonsMultipartFile file = (CommonsMultipartFile)multipartRequest.getFile(“file”);

这个file必须与form表单中input的name的值一致。

3.最后把file移动到目标地址:

FileCopyUtil.cope(file.getByte(),uploadFile);

 

以上是单文件上传 ,对于多文件上传,可以用MultipartHttpServletRequest的getFileMap()来获取表单传过来的所有文件

然后用for循环遍历依次上传文件:

154420_BzEY_1450051.png

 说完了文件上传,再说下如何下载:

文件下载主要采用字节流的形式,有三个要点:

1.设置编码格式为:text/html;charset=utf-8

2.设置header中Content-disposition属性值为attachment;filename=文件名(这个文件名就是客户端弹出框文件的名字)

3.设置header中Context-Length属性,值为文件的大小

以上是一个小例子。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Analisis perbandingan dan perbezaan antara SpringBoot dan SpringMVC Analisis perbandingan dan perbezaan antara SpringBoot dan SpringMVC Dec 29, 2023 am 11:02 AM

SpringBoot dan SpringMVC adalah kedua-dua rangka kerja yang biasa digunakan dalam pembangunan Java, tetapi terdapat beberapa perbezaan yang jelas antara mereka. Artikel ini akan meneroka ciri dan penggunaan kedua-dua rangka kerja ini dan membandingkan perbezaannya. Mula-mula, mari belajar tentang SpringBoot. SpringBoot telah dibangunkan oleh pasukan Pivotal untuk memudahkan penciptaan dan penggunaan aplikasi berdasarkan rangka kerja Spring. Ia menyediakan cara yang pantas dan ringan untuk membina bersendirian, boleh dilaksanakan

Apakah perbezaan antara SpringBoot dan SpringMVC? Apakah perbezaan antara SpringBoot dan SpringMVC? Dec 29, 2023 am 10:46 AM

Apakah perbezaan antara SpringBoot dan SpringMVC? SpringBoot dan SpringMVC ialah dua rangka kerja pembangunan Java yang sangat popular untuk membina aplikasi web. Walaupun mereka sering digunakan secara berasingan, perbezaan antara mereka adalah jelas. Pertama sekali, SpringBoot boleh dianggap sebagai lanjutan atau versi dipertingkatkan bagi rangka kerja Spring. Ia direka bentuk untuk memudahkan proses permulaan dan konfigurasi aplikasi Spring untuk membantu pembangun

Apakah perbezaan antara SpringBoot dan SpringMVC? Apakah perbezaan antara SpringBoot dan SpringMVC? Dec 29, 2023 pm 05:19 PM

SpringBoot dan SpringMVC ialah dua rangka kerja yang biasa digunakan dalam pembangunan Java Kedua-duanya disediakan oleh rangka kerja Spring, tetapi ia mempunyai beberapa perbezaan dalam fungsi dan penggunaan. Artikel ini akan memperkenalkan ciri dan perbezaan SpringBoot dan SpringMVC masing-masing. 1. Ciri-ciri SpringBoot: Konfigurasi ringkas: SpringBoot sangat memudahkan proses konfigurasi projek melalui prinsip konvensyen berbanding konfigurasi. Ia secara automatik boleh mengkonfigurasi parameter yang diperlukan oleh projek dan pembangun

Apakah perbezaan antara spring dan springmvc Apakah perbezaan antara spring dan springmvc Dec 29, 2023 pm 05:02 PM

Perbezaan antara spring dan springmvc: 1. Kedudukan dan fungsi; 2. Fungsi teras; Pengenalan terperinci: 1. Kedudukan dan fungsi Spring ialah rangka kerja pembangunan aplikasi komprehensif yang menyediakan suntikan pergantungan, pengaturcaraan berorientasikan aspek, pengurusan transaksi dan fungsi lain Ia direka untuk memudahkan pembangunan aplikasi peringkat perusahaan, dan Spring MVC ialah Rangka kerja Spring. Modul di dalamnya digunakan untuk pembangunan aplikasi Web dan melaksanakan corak MVC 2. Fungsi teras dan sebagainya.

Apakah perbezaan antara springboot dan springmvc Apakah perbezaan antara springboot dan springmvc Jun 07, 2023 am 10:10 AM

Perbezaan antara springboot dan springmvc adalah: 1. Makna yang berbeza; 3. Kebergantungan yang berbeza; 5. Produktiviti yang berbeza; Fungsi yang disediakan; 8. Fungsi yang berbeza;

Menggunakan SpringMVC untuk pemprosesan perkhidmatan Web dalam pembangunan API Java Menggunakan SpringMVC untuk pemprosesan perkhidmatan Web dalam pembangunan API Java Jun 17, 2023 pm 11:38 PM

Dengan perkembangan Internet, perkhidmatan Web menjadi semakin biasa. Sebagai antara muka pengaturcaraan aplikasi, JavaAPI sentiasa melancarkan versi baharu untuk menyesuaikan diri dengan senario aplikasi yang berbeza. Sebagai rangka kerja sumber terbuka yang popular, SpringMVC boleh membantu kami membina aplikasi web dengan mudah. Artikel ini akan menerangkan secara terperinci cara menggunakan SpringMVC untuk pemprosesan perkhidmatan Web dalam pembangunan JavaAPI, termasuk mengkonfigurasi SpringMVC, menulis pengawal dan menggunakan

Cara menggunakan pemintas SpringMVC Java Cara menggunakan pemintas SpringMVC Java May 13, 2023 pm 02:55 PM

Peranan pemintas SpringMVC pemintas adalah serupa dengan penapis dalam pembangunan Servlet, yang digunakan untuk pra-memproses dan pasca-memproses pemproses. Pemintas disambungkan ke dalam rantai dalam susunan tertentu, dan rantai ini dipanggil rantai pemintas (InterceptorChain). Apabila kaedah atau medan yang dipintas diakses, pemintas dalam rantaian pemintas akan dipanggil mengikut susunan yang telah ditakrifkan sebelum ini. Pemintas juga merupakan pelaksanaan khusus idea AOP. Perbezaan antara pemintas dan penapis: Penapis (Penapis) Skop penggunaan pemintas (Pemintas) adalah sebahagian daripada spesifikasi servlet dan boleh digunakan oleh mana-mana projek JavaWeb

Bandingkan persamaan dan perbezaan antara SpringBoot dan SpringMVC Bandingkan persamaan dan perbezaan antara SpringBoot dan SpringMVC Dec 29, 2023 am 08:30 AM

Menganalisis persamaan dan perbezaan antara SpringBoot dan SpringMVC SpringBoot dan SpringMVC adalah rangka kerja pembangunan yang sangat penting dalam bidang Java. Walaupun kedua-duanya adalah sebahagian daripada rangka kerja Spring, terdapat beberapa perbezaan yang jelas dalam penggunaan dan kefungsian. Artikel ini akan membandingkan SpringBoot dan SpringMVC dan menganalisis persamaan dan perbezaan antara mereka. Mula-mula, mari belajar tentang SpringBoot. SpringBo

See all articles