【问题标题】:How to upload an image to .ashx url in ios如何在 ios 中将图像上传到 .ashx url
【发布时间】:2013-02-18 11:41:07
【问题描述】:

我在 google 和 stackoverflow 上进行了很多搜索,但没有得到任何适合我的令人满意的解决方案。

我必须在某个以扩展名 .ashx 结尾的特定网址上上传图片。 我已经看到如何在 php 服务器上上传,但在这里我没有得到任何线索。

请提供一些示例代码帮助我。

【问题讨论】:

  • 要上传到 IIS 服务器吗?
  • 如果上传方法是 POST,不要认为上传到什么后端有什么区别
  • 其实我得把它上传到点网服务器上。

标签: iphone ios image upload


【解决方案1】:

据我了解,aspx 是页面,.ashx 是响应输出的代码文件,以字符串格式和.ashx file is a web handler. A web handler file works just like an aspx file...

所以我们认为 .ashx 与 .aspx 相同,那么这段代码应该适合你(它正在为我运行 .aspx 页面)。这是向 .net 服务器发出请求。

iOS

    UIImage *img = [UIImage imageNamed:@"test.png"];
    NSData *imageData = UIImageJPEGRepresentation ( img , 90 );

    NSString *urlString =@"www.xyz.com/ImageUpload.aspx?filename=test";

    NSLog(@"IMAGE_UPLOAD_URL -------------> %@",urlString);

    NSMutableURLRequest *request = [[[ NSMutableURLRequest alloc ] init ] autorelease ];
    [request setURL :[ NSURL URLWithString :urlString]];
    [request setHTTPMethod : @"POST" ];
    NSString *boundary = @"---------------------------14737809831466499882746641449";
    NSString *contentType = [ NSString stringWithFormat : @"multipart/form-data; boundary=%@" ,boundary];
    [request addValue :contentType forHTTPHeaderField : @"Content-Type" ];
    /*  body of the post */
    NSMutableData *body = [ NSMutableData data ];
    [body appendData :[ NSData dataWithData :imageData]];
    [request setHTTPBody :body];
    NSData *returnData = [ NSURLConnection sendSynchronousRequest :request returningResponse : nil error : nil ];

    NSString *returnString = [[ NSString alloc ] initWithData :returnData encoding : NSUTF8StringEncoding ];
    InfoLog(@"_______  IMAGE_UPLOAD response -------------> .%@.",returnString);

.NET

为 .aspx 页面检索这样的图像

    if (Request.QueryString["filename"] != null)
    {
        string filename = Request.QueryString["filename"].ToString();
        string saveFilePath = ConfigurationManager.AppSettings["CPSBImageFolder"].ToString();
        //string saveFilePath = Server.MapPath("~/images");
        saveFilePath = saveFilePath + filename;
        Stream objStream = Request.InputStream;
        StreamReader objStreamReader = new StreamReader(objStream);
        Image image = Image.FromStream(objStreamReader.BaseStream, true);
        ImageCodecInfo[] info = ImageCodecInfo.GetImageEncoders();
        EncoderParameters param = new EncoderParameters(1);
        param.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L);
        image.Save(saveFilePath, info[1], param);
        Response.Write("true");
    }

不确定,但希望这能给你一个线索。

【讨论】:

    【解决方案2】:

    验证您用于上传图片的变量(NSData)不为空并且您的 dot net 服务器正在接收请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-30
      • 2019-12-29
      • 2015-11-26
      • 2020-07-27
      • 2016-08-08
      • 2014-10-01
      • 1970-01-01
      相关资源
      最近更新 更多