学习js就是一个不断坚持的过程。
easyUI 如何实现用js上传文件类型呢,
基本格式:
function ImportShipmentStatusList() {
if ($("#fuImportMultipleShipmentStatus").val() == "" ) {
alert("Please select a file to upload");
return;
}
$.ajaxFileUpload({
url: '/Tracking/ImportPODReport',
secureuri: false,
fileElementId: 'fuImportMultipleShipmentStatus',
dataType: 'json',
success: function (data,status) {
alert(data.message);
$('#fuImportMultipleShipmentStatus').val('');
}
});
}
页面:
<tr>
<td>
Import Multiple Shipment Status:
</td>
<td>
<input type="file" id="fuImportMultipleShipmentStatus" name="fuImportMultipleShipmentStatus" />
</td>
<td>
<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-save'" οnclick="ImportShipmentStatusList();"
style="margin-right: 18px;">Save</a>
</td>
</tr>
其中:secureuri代表是否启用安全协议。
fileElementId代表file文件的控件ID。
dataType代表返回值类型。
success代表返回函数。
服务器接收和一些常用的方法:
1.HttpFileCollectionBase files = Request.Files;
通过Request获取file对象。files是一个数组对象(适用于多文件同时上传).
2.fileName = files[0].FileName;
获取下标为0的文件名。
3.string fileType = System.IO.Path.GetExtension(fileName).ToLower();
根据文件名获取文件拓展名。
4.filePath = System.Configuration.ConfigurationManager.AppSettings["TempFilePath"].ToString();
C#在webconfig文件中setting下,设置的默认缓存路径。
5.files[0].SaveAs(filePath + fileName);
SaveAs(fileName),file中的重要方法。在上面中files并未以文件的形式存在服务器,仅是以流的方式存在。经过SaveAs(),将文件写入到缓存目录。