0

私はグーグルとスタックオーバーフローでたくさん検索しましたが、私のために働く満足のいく解決策を得ることができませんでした。

拡張子.ashxで終わる特定のURLに画像をアップロードする必要があります。PHPサーバーにアップロードする方法を見てきましたが、ここでは何の手がかりも得られません。

サンプルコードを提供してください。

4

2 に答える 2

1

私の理解によると、aspxはページであり、.ashxは文字列形式で出力に応答するコードファイルであり、.ashxファイルはWebハンドラーです。Webハンドラファイルはaspxファイルと同じように機能します

したがって、.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);

。ネット

.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");
    }

確かではありませんが、これがあなたに手がかりを与えることを願っています。

于 2013-03-04T12:00:09.440 に答える
0

画像のアップロードに使用している変数(NSData)がnullではなく、ドットネットサーバーがリクエストを受信して​​いることを確認してください。

于 2013-03-04T12:00:34.150 に答える