当前位置:

首页 > 编程开发 > flex利用webservice上传照片实现代码

flex利用webservice上传照片实现代码

基于WebService实现照片上传,服务端用C#接收文件字节数组和文件名,保存至服务器指定目录;客户端Flex获取位图数据并编码为JPEG后调用UploadFile方法。需注意跨域配置、文件名防重处理及异常捕获,确保上传功能稳定可靠。

在实际项目中,文件上传是一个绕不开的常见需求。无论是用户头像、图片素材还是文档附件,都需要一种可靠的方式将数据从客户端传递到服务器。下面分享一个基于WebService的经典实现方案——服务端用C#处理接收,客户端用Flex发起请求。整个流程清晰明了,适合直接复用或作为参考模板。

WebService端代码

先看服务端。这里暴露了一个名为UploadFile的WebMethod,接收两个参数:文件字节数组和文件名。内部逻辑很简单:将字节数组写入内存流,再通过文件流保存到服务器的指定目录。注意路径使用Server.MapPath(".")获取当前应用根目录,文件名则直接沿用传入的参数。如果是实际生产环境,建议对文件名做防重名处理,并增加路径安全性校验。

/// 
/// 上传文件到远程服务器
/// 
/// 文件流
/// 文件名
/// 字符串
[WebMethod(Description = "上传文件到远程服务器.")]
public string UploadFile(byte[] fileBytes, string fileName)
{
    try
    {
        MemoryStream memoryStream = new MemoryStream(fileBytes); //1.定义并实例化一个内存流,以存放提交上来的字节数组。
        FileStream fileUpload = new FileStream(Server.MapPath(".") + "\\" + fileName, FileMode.Create); ///2.定义实际文件对象,保存上载的文件。
        memoryStream.WriteTo(fileUpload); ///3.把内存流里的数据写入物理文件
        memoryStream.Close();
        fileUpload.Close();
        fileUpload = null;
        memoryStream = null;
        return "文件已经上传成功";
    }
    catch (Exception ex)
    {
        return ex.Message;
    }
}

Flex客户端代码

客户端这边,Flex通过WebService组件调用远程服务。关键步骤是在creationComplete事件中获取Image组件上的位图数据,将其编码为JPEG格式,然后调用UploadFile方法。注意这里用到了JPEGEncoder,如果是其他图片格式,可以换成PNGEncoder或GIFEncoder。另外,bitmapData.getPixels()返回的是原始像素数据,经过编码后再发送,服务端接收到的就是完整的图片文件。



    
        
    
    
        
        
            
        
    
    

整个流程走下来,服务端负责接收并保存,客户端负责提取和编码。需要注意的是,wsdl地址需要根据实际部署情况修改,source路径中的图片示例也仅作演示。运行时如果遇到跨域问题,记得在服务端配置crossdomain.xml。总之,这是一个直接可用的脚手架,稍加调整就能适配到具体业务中。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
编程开发 webservice
相关文章 更多
Flex中对表格中某列的值进行数字格式化保留两位小数
Flex中对表格中某列的值进行数字格式化保留两位小数

在Flex表格中,通过NumberFormatter组件设置precision为2、rounding为"up"实现向上取整保留两位小数,再借助labelFunction将格式化逻辑绑定到列,确保比率值如0.7868显示为0.79,避免四舍五入导致的累积误差,提升数据准确性。

Flex设置LinkButton的背景色有思路有源码
Flex设置LinkButton的背景色有思路有源码

Flex的LinkButton无默认背景色属性,可通过Graphics对象在creationComplete事件中绘制矩形填充色实现。核心代码使用beginFill和drawRect,颜色值可动态设置,不依赖外部资源。此法灵活轻量,支持扩展圆角或渐变,适用于多数场景。

flex 遍历Object对象内容的实现代码
flex 遍历Object对象内容的实现代码

Flex中遍历Object对象可使用obj["key"]方式,类似HashMap键值对结构,通过动态键名访问属性,替代传统点语法。此方法适合处理动态属性名或未知键名场景,提高代码灵活性。

Flex 自定义DataGrid实现根据条目某一属性值改变背景颜色
Flex 自定义DataGrid实现根据条目某一属性值改变背景颜色

通过重写DataGrid的drawRowBackground方法,自定义组件可根据回调函数返回的颜色动态改变行背景色。示例中,回调函数比较每条记录的act与stand字段,若act小于stand则将行底色设为浅蓝色,否则保留默认白色。

Flex 获取每月第几周小例子
Flex 获取每月第几周小例子

通过日期计算每月第一天及第一周星期一的日期,得出本月总天数和总周数,并确定当前日期属于本月第几周。若结果为第0周,则归入上月最后一周,确保周次划分的连续性和准确性。

Flex AIR 重启需要修改的配置文件
Flex AIR 重启需要修改的配置文件

通过浏览器唤起AIR应用需修改代码和配置文件。代码获取当前应用顶层窗口,利用ProductManager启动指定ID应用并关闭自身。配置文件需在应用描述符中开启允许浏览器调用的开关,否则启动请求被拦截。

Flex 错误(mx.messaging.messages::RemotingMessage)分析
Flex 错误(mx.messaging.messages::RemotingMessage)分析

Flex错误中destination为空字符串,通常因remoting-config.xml未定义对应调用目标。代码中RemoteObject请求的destination在配置文件中缺少声明,系统无法找到目标而抛出异常。需检查配置文件并正确添加目标声明,确保远程调用路径匹配。

Flex读取txt文件中的内容报错原因分析及解决
Flex读取txt文件中的内容报错原因分析及解决

Flex开发中读取本地文件时提示“文件不存在”,通常因目标文件未放入应用程序目录或路径错误。需手动导入文件并确保路径准确,即可解决。建议检查文件位置及路径拼写,避免相对路径引用问题。

Flex父子窗口相互调用实现思路及源码
Flex父子窗口相互调用实现思路及源码

在Flex开发中,父窗口向子窗口传递参数和回调函数,子窗口修改数据后调用父窗口回调函数实现数据刷新,子窗口也可调用父窗口方法。示例展示了父窗口学生信息表格与子窗口编辑表单的交互过程。

Flex文件读取报错示例
Flex文件读取报错示例

在Flex开发中,File类是基础,用于文件操作。通过两个示例展示具体实现:使用s:WindowedApplication和File类创建File对象,路径为File.applicationDirectory.nativePath加"/test.txt",从而访问应用程序目录下的文件。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

PDF教程
PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
Postman macOS版
Postman macOS版
Mac

Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。

Docker Desktop macOS版
Docker Desktop macOS版
Mac

Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。

Android Studio macOS版
Android Studio macOS版
Mac

Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。

WINDOWS 更多
PixPix 网页版
PixPix 网页版
Windows

PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。

Postman Windows版
Postman Windows版
Windows

Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等

Docker Desktop Windows版
Docker Desktop Windows版
Windows

Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。