摘 要:在电子商务中,图片得到了广泛应用,图片的上传和显示涉及很多细节上的技术问题。本文尝试从多个方面分析该类问题并提出一些解决方案。
关键词:图片上传;显示;电子商务
电子商务是近二十年来发展最为迅猛的一个产业。电子商务网站的建设是电子商务涉及的一个重要组成部分。在电子商务网站的建设过程中,经常需要上传一些图片,并将上传的图片显示在各种不同的电子媒体上。本文列举了图片在上传和显示过程中存在的若干问题,并给出有效的解决措施。
一、图片上传及显示存在的问题与解决方法
1. 将图片从客户端上传到服务器
图片从客户端上传到服务器的方式有两种:(1)使用成熟的组件。一般情况下通过选择本地图片文件,然后选择后台服务上传或直接上传。这种方式编写的代码很少,但是文件的存储方式、显示方式都有可能受到很大的限制。(2)使用流的方式。这种方式编写的代码相对较多,但存储更灵活。可以选择本地图片文件读取,使用输入流将其读入内存,接着使用输出流传给服务器的后台服务。后台服务获得网络输入流读入内存后,使用输出流以合适的方式存储下来。
2. 将图片文件存储到服务器
图片文件存储需要考虑两个方面的问题:一是存储到哪儿,二是是否使用压缩。图片文件可以存储到数据库,也可以单独以文件的形式存储。存储在数据库中,如果文件太大,一条记录一般只能存储一张图片,传输多张图片一般需要多条记录。以单独的文件存储时,文件存储的位置、文件名及文件存储的类型还需要保存到数据库中。为了减少图片文件的存储空间,可以采用适当的压缩技术。需要说明的是,图片压缩的效果一般不太明显。
3. 图片上传后实现页面的局部更新
图片上传后需要显示在媒体的界面上。如果更新整个界面会带来两个问题:一是界面的其他数据有可能会被破坏,二是整个界面的更新需要传输更多的数据。所以,图片上传后应该实现页面的局部更新。解决页面的局部更新问题有很多种方法,一种方法是将图片放在框架中,更新页面时只更新该框架。另一种方法则是使用AJAX技术实现页面的局部更新。相对于前一种方法,使用AJAX技术代码更简单,效率更高。
4. 图片上传后实现更新和删除
图片上传后的更新和删除同数据库中记录的更新和删除有相似之处,但又完全不同。删除图片不仅包括删除记录中图片的文件存储路径和文件名,还要删除实际的图片文件。图片的更新包括三个阶段:第一个阶段为旧图片文件的删除,第二个阶段为新图片文件的存储,第三个阶段为文件存储路径及文件名的更新。
5. 图片上传过程中及显示时系统性能的提高
图片的上传和显示都耗用一定的网络流量。系统性能的提高可以从两方面来考虑:(1)减少网络流量;(2)采用多线程技术。图片上传时可以考虑先压缩再上传以减少网络流量。显示时减少网络流量可以在数据库中存储每个图片的最新更新时间。图片下载一次后可以保存在客户端本地。显示图片时,对比客户端的最新更新时间与服务器的最新更新时间,如果相同,则加载客户端本地;如果不同,则从服务器下载更新本地客户端。在手机App中显示图片,可以考虑将图片打包到App当中,这样显示图片基本为零流量。
6. 图片处理涉及的问题
(1)在实现上传文件的功能时,需要限制上传文件的大小。(2)图片上传限制图片尺寸。上传图片的尺寸与实际显示的尺寸应尽量相同,或等比例缩放。(3)图片上传时限制图片上传的数量。(4)图片上传时限制文件的格式。
二、结语
在电子商务网站的建设过程中,图片的上传和显示在软件设计中是一项基本功能。在编程过程中,显示图片看上去比较简单,但涉及很多方面的细节,如果考虑不充分,会带来一系列的问题。例如,上传图片后,由于更新图片而将其他内容更新;图片更新和删除不彻底导致服务器保存很多淘汰的图片;图片多次下载导致页面显示迟缓等。
参考文献:
[1]软件开发技术联盟.JavaWeb开发实例大全[M].北京:清华大学出版社,2016.
[2]王浩.企业网络营销实战宝典及决胜攻略:策略、方法、技巧、实践与案例[M].北京:北京时代华文出版社,2015.
作者简介:任彦东(1974— ),男,江苏淮安人,本科,讲师,研究方向:信息技术。