asp.net中有关文件HTTP上传服务器保存的问题(捷易拍sdk开发方面)
2016-05-31 12:16
756 查看
我们都知道,一般客户端文件上传服务器有两种方法:HTTP上传和FTP上传两种。两种上传方式以捷易拍SDK为例:
1.HTTP上传:
/*************************************************************************/
BOOL bUpLoadImage(LPCTSTR fileName, LPCTSTR serverName,
short usPort, LPCTSTR objectName)
/*************************************************************************/
* 函数名称: bUpLoadImage
* 功能描述:上传指定图片到服务器
* 输入参数: fileName——上传图片的完整路径(多文件上传时,用“|”隔开)
serverName——服务器地址(IP、域名)
usPort——端口
objectName——处理图片上传的服务器对象
(文件请求字段名称:trackdata)
* 输出参数:无
* 返回值: TRUE——成功
FALSE——失败
* 例如:
单文件上传:m_cap. bUpLoadImage ("D:\\JPG.JPG", "127.0.0.1",
8080, "/shop/servlet/uploadServlet");
多文件上传:m_cap. bUpLoadImage ("D:\\JPG.JPG|D:\\JPG1.JPG|D:\\JPG2.JPG",
"127.0.0.1", 8080, "/shop/servlet/uploadServlet");
2.FTP上传:
/*************************************************************************/
short iUploadFileToFtp(LPCTSTR host, LPCTSTR port,
LPCTSTR userName, LPCTSTR password,
LPCTSTR filePath, LPCTSTR ftpPath, LPCTSTR fileName)
/*************************************************************************/
* 函数名称: iUploadFileToFtp
* 功能描述:上传文件到 FTP
* 输入参数: host——服务器地址(IP 或域名)
port——端口
userName——用户名
password——密码
filePath——文件路径
ftpPath——服务器路径
fileName——存放服务器的文件名
* 输出参数:无
* 返回值: 0——成功
1——失败
* 例如: m_cap. iUploadFileToFtp (“192.169.0.11”,”21”,
”name”,”password”,”c:\boot.ini”,”/FTPPath/temp”,”boot.ini”);
由于在扫描设备上使用的是捷易拍设备,选择了有关于捷易拍sdk开发中HTTP上传方式:
function upload() {
capture = byId("capture");
var port;
if (location.port != "") {
port = location.port;//端口
} else {
port = 8080;//端口
}
imgPath = GetScanPath();
var re=capture.bUpLoadImage(imgPath, location.hostname, port, "/Web/PostFile.aspx");
alert(re);
}但是在IE调试过程中出现“超出当前范围”错误,如下,字符10的位置是capture,google了各种找不到原因,还是心情烦躁啊,静下心来或许能找到解决办法。
![](https://img-blog.csdn.net/20160531115749868?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
于是改用捷易拍给的功能测试文件HTML进行测试,查找到asp.net的服务器端口号为32910,设置后同样的问题。好吧。。。。先记录下来,放在那边做做其他事。一天早上,突然来了个灵感,超出范围,可能是端口超出范围,难不成这端口还有范围,官方文档没提啊,,于是我尝试着修改asp.net的服务器端口,改为8989:
![](https://img-blog.csdn.net/20160531120937017?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
没想到尝试居然成功了,多次试验,发现,捷易拍SDK的HTTP上传文件到服务器的端口一般小于5位数,还有这么一隐藏要求,我能说是bug吗。
告一段落。。。。
总结:有的时候,遇到难啃的骨头的时候,适当的记录,留下记忆,暂时的放一放,是为了柳暗花明又一村。
1.HTTP上传:
/*************************************************************************/
BOOL bUpLoadImage(LPCTSTR fileName, LPCTSTR serverName,
short usPort, LPCTSTR objectName)
/*************************************************************************/
* 函数名称: bUpLoadImage
* 功能描述:上传指定图片到服务器
* 输入参数: fileName——上传图片的完整路径(多文件上传时,用“|”隔开)
serverName——服务器地址(IP、域名)
usPort——端口
objectName——处理图片上传的服务器对象
(文件请求字段名称:trackdata)
* 输出参数:无
* 返回值: TRUE——成功
FALSE——失败
* 例如:
单文件上传:m_cap. bUpLoadImage ("D:\\JPG.JPG", "127.0.0.1",
8080, "/shop/servlet/uploadServlet");
多文件上传:m_cap. bUpLoadImage ("D:\\JPG.JPG|D:\\JPG1.JPG|D:\\JPG2.JPG",
"127.0.0.1", 8080, "/shop/servlet/uploadServlet");
2.FTP上传:
/*************************************************************************/
short iUploadFileToFtp(LPCTSTR host, LPCTSTR port,
LPCTSTR userName, LPCTSTR password,
LPCTSTR filePath, LPCTSTR ftpPath, LPCTSTR fileName)
/*************************************************************************/
* 函数名称: iUploadFileToFtp
* 功能描述:上传文件到 FTP
* 输入参数: host——服务器地址(IP 或域名)
port——端口
userName——用户名
password——密码
filePath——文件路径
ftpPath——服务器路径
fileName——存放服务器的文件名
* 输出参数:无
* 返回值: 0——成功
1——失败
* 例如: m_cap. iUploadFileToFtp (“192.169.0.11”,”21”,
”name”,”password”,”c:\boot.ini”,”/FTPPath/temp”,”boot.ini”);
由于在扫描设备上使用的是捷易拍设备,选择了有关于捷易拍sdk开发中HTTP上传方式:
function upload() {
capture = byId("capture");
var port;
if (location.port != "") {
port = location.port;//端口
} else {
port = 8080;//端口
}
imgPath = GetScanPath();
var re=capture.bUpLoadImage(imgPath, location.hostname, port, "/Web/PostFile.aspx");
alert(re);
}但是在IE调试过程中出现“超出当前范围”错误,如下,字符10的位置是capture,google了各种找不到原因,还是心情烦躁啊,静下心来或许能找到解决办法。
于是改用捷易拍给的功能测试文件HTML进行测试,查找到asp.net的服务器端口号为32910,设置后同样的问题。好吧。。。。先记录下来,放在那边做做其他事。一天早上,突然来了个灵感,超出范围,可能是端口超出范围,难不成这端口还有范围,官方文档没提啊,,于是我尝试着修改asp.net的服务器端口,改为8989:
没想到尝试居然成功了,多次试验,发现,捷易拍SDK的HTTP上传文件到服务器的端口一般小于5位数,还有这么一隐藏要求,我能说是bug吗。
告一段落。。。。
总结:有的时候,遇到难啃的骨头的时候,适当的记录,留下记忆,暂时的放一放,是为了柳暗花明又一村。
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- Android ADT 23.0.0无法更新到23.0.2问题解决方案
- SDKMAN:轻松管理多个软件开发套件 (SDK) 的命令行工具
- 星外ASP.Net的安全设置相关说明
- C#、ASP.NET通用扩展工具类之TypeParse
- 实现ASP.NET无刷新下载并提示下载完成的开发思路
- C#、ASP.NET通用扩展工具类之LogicSugar
- C#、ASP.NET通用工具类IsWhat?(可以判断数字、身份证、数据类型等等)
- 程序中常用的种代码
- ASP.NET、ASP、PHP、JSP之间有什么区别?
- 在ASP.NET 2.0中操作数据之六十六:在TableAdapters中使用现有的存储过程
- ASP.NET页面间的传值的几种方法
- 在ASP.NET 2.0中操作数据之二十四:分页和排序报表数据
- 入侵ASP.net网站的经验附利用代码
- Parse正式发布开源PHP SDK
- 盘点PHP和ASP.NET的10大对比!
- 在ASP.NET 2.0中操作数据之四十八:对SqlDataSource控件使用开放式并发
- ASP.NET MVC4入门教程(四):添加一个模型
- 在ASP.NET 2.0中操作数据之二十三:基于用户对修改数据进行限制
- 在ASP.NET 2.0中操作数据之七十三:用Managed Code创建存储过程和用户自定义函数(上部分)