商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > flex利用webservice上传照片实现代码

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

  发布于2026-07-22 阅读(0)

扫一扫,手机访问

在实际项目中,文件上传是一个绕不开的常见需求。无论是用户头像、图片素材还是文档附件,都需要一种可靠的方式将数据从客户端传递到服务器。下面分享一个基于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,如果是其他图片格式,可以换成PNGEncoderGIFEncoder。另外,bitmapData.getPixels()返回的是原始像素数据,经过编码后再发送,服务端接收到的就是完整的图片文件。



    
        
    
    
        
        
            
        
    
    

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

本文转载于:https://www.jb51.net/article/49609.htm 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注