天天看點

uploadify問題解決一、ie11 json問題二、uploadify初始化通路本機

在使用uploadify3.2.1中碰見的問題,上網找了好多資料終于解決,這是和springMVC結合中碰見的問題,現在總結一下:

一、ie11 json問題

因為項目需求,必須使用ie11

問題一:每次點選檔案上傳的時候不是下載下傳檔案,

問題二 :就是controller中接受不到資料(Google浏覽器沒問題),說是上傳問題

IE上傳時請求頭是:Accept: text* 

ie浏覽器的json資料轉換也不同,所有點選上傳完成後會下載下傳json

解決辦法:

在配置檔案中如下配置,解決上面兩個問題

<!-- JSON -->
	<!-- 處理JSON資料轉換的 -->
	<bean
		class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
		<property name="messageConverters">
			<list>
				<ref bean="mappingJacksonHttpMessageConverter" />
			</list>
		</property>
	</bean>
	<bean
		class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
		<property name="messageConverters">
			<list>
				<ref bean="mappingJacksonHttpMessageConverter" />
			</list>
		</property>
	</bean>

	<!-- 解決IE11和google浏覽器之間上傳的差異  
		IE上傳時的請求頭中,Accept: text/*
		而Chrome的請求頭中,Accept: */* -->
	
	<bean id="mappingJacksonHttpMessageConverter"
		class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
		<property name="supportedMediaTypes">
			<list>
				<bean class="org.springframework.http.MediaType">
					<constructor-arg index="0" value="text" />
					<constructor-arg index="1" value="plain" />
					<constructor-arg index="2" value="UTF-8" />
				</bean>
				<bean class="org.springframework.http.MediaType">
					<constructor-arg index="0" value="*" />
					<constructor-arg index="1" value="*" />
					<constructor-arg index="2" value="UTF-8" />
				</bean>
				<bean class="org.springframework.http.MediaType">
					<constructor-arg index="0" value="text" />
					<constructor-arg index="1" value="*" />
					<constructor-arg index="2" value="UTF-8" />
				</bean>
				<bean class="org.springframework.http.MediaType">
					<constructor-arg index="0" value="application" />
					<constructor-arg index="1" value="json" />
					<constructor-arg index="2" value="UTF-8" />
				</bean>
			</list>
		</property>
	</bean>
           

二、uploadify初始化通路本機

每次uploadify初始化都會通路本機,網上找到了解決辦法

把uploadify的js檔案中

this.settings.upload_url = SWFUpload.completeURL(this.settings.upload_url);  
	this.settings.button_image_url = SWFUpload.completeURL(this.settings.button_image_url)
           

改為:

this.settings.upload_url = SWFUpload.completeURL(this.settings.upload_url);  
	this.settings.button_image_url = this.settings.button_image_url ?  
	SWFUpload.completeURL(this.settings.button_image_url) :   
	this.settings.button_image_url
           

三、總結

以上就是使用uploadify碰到的問題,雖然不多但是挺煩人的,再次感謝解決問題的大神。。。