• aliexpress 上传图


    首先,图片转化为字节流
            public byte[] ImagefileToByte(string srcImagePath)
            {
                System.IO.MemoryStream m = new System.IO.MemoryStream();
                System.Drawing.Bitmap bp = new System.Drawing.Bitmap(srcImagePath);
                bp.Save(m,System.Drawing.Imaging.ImageFormat.Jpeg);
                byte[] ImageByte = m.GetBuffer();
                return ImageByte;
            }
    
    
    最外层调用的方法
            public string postUploadImage(string ImagePath)
            {
                string fileName = System.IO.Path.GetFileName(ImagePath);
                byte[] fileDatas = upImg.ImagefileToByte(ImagePath);
                Stream stream = new MemoryStream(fileDatas);
                string uploadImageResult = CreatePostHttpRespone(uploadImageUrl, stream, "application/octet-stream");
                return uploadImageResult;
                //uploadImageUrl=http://gw.api.alibaba.com/openapi/param2/1/aliexpress.open/api.uploadImage/自己店铺的appkey?fileName=aa.jpg&_aop_signature=签名
            }
    
    
           public  string CreatePostHttpRespone(string url,Stream stream,string contentType)
            {
                    if (string.IsNullOrEmpty(url))
                    {
                        throw new ArgumentNullException("url");
                    }
                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url) ;
                    request.Method = "POST";
                    request.Accept = "*/*";
                    request.KeepAlive = true;
                    request.ContentType = contentType;
                    request.Credentials = System.Net.CredentialCache.DefaultCredentials;
                    request.ContentLength = stream.Length;
                    using (Stream requestStream = request.GetRequestStream())
                    {
    
    
                        //将内存流数据读取位置归零
                        stream.Position = 0;
                        byte[] tempBuffer = new byte[stream.Length];
                        stream.Read(tempBuffer, 0, tempBuffer.Length);
                        stream.Close();
    
    
                        //将内存流中的buffer写入到请求写入流
                        requestStream.Write(tempBuffer, 0, tempBuffer.Length);
                        requestStream.Close();
    
    
                        //获取到上传请求的响应
                        WebResponse response = request.GetResponse();
    
    
                        //获取到上传返回的数据
                        //string html = GetResponseString(response);
                        StreamReader reader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8);
                        string content = reader.ReadToEnd();
                        response.Close();
                        request = null;
    
    
                        return content;
                    }
    
    
                }
  • 相关阅读:
    方法的重载
    构造方法
    方法与主方法
    类的一般形式
    多维数组
    如何使用数组
    数组的创建以及初始化
    流程控制之break、continue、return的用法
    流程控制之循环结构
    流程控制值选择结构
  • 原文地址:https://www.cnblogs.com/starluck/p/4184875.html
Copyright © 2020-2023  润新知